package at.ac.tuwien.big.me12.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import at.ac.tuwien.big.me12.services.GSMLDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalGSMLDslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'%'", "'point(s)'", "'course'", "'{'", "'}'", "'semester'", "'grading scheme'", "'('", "')'", "'min'", "';'", "':'", "'@all'", "'-'"
    };
    public static final int RULE_ID=5;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__19=19;
    public static final int RULE_STRING=4;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalGSMLDslParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalGSMLDslParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalGSMLDslParser.tokenNames; }
    public String getGrammarFileName() { return "../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g"; }


     
     	private GSMLDslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(GSMLDslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleGradingSystem"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:60:1: entryRuleGradingSystem : ruleGradingSystem EOF ;
    public final void entryRuleGradingSystem() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:61:1: ( ruleGradingSystem EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:62:1: ruleGradingSystem EOF
            {
             before(grammarAccess.getGradingSystemRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleGradingSystem_in_entryRuleGradingSystem61);
            ruleGradingSystem();

            state._fsp--;

             after(grammarAccess.getGradingSystemRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleGradingSystem68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGradingSystem"


    // $ANTLR start "ruleGradingSystem"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:69:1: ruleGradingSystem : ( ( rule__GradingSystem__Group__0 ) ) ;
    public final void ruleGradingSystem() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:73:2: ( ( ( rule__GradingSystem__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:74:1: ( ( rule__GradingSystem__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:74:1: ( ( rule__GradingSystem__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:75:1: ( rule__GradingSystem__Group__0 )
            {
             before(grammarAccess.getGradingSystemAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:76:1: ( rule__GradingSystem__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:76:2: rule__GradingSystem__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingSystem__Group__0_in_ruleGradingSystem94);
            rule__GradingSystem__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGradingSystemAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGradingSystem"


    // $ANTLR start "entryRuleTask"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:88:1: entryRuleTask : ruleTask EOF ;
    public final void entryRuleTask() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:89:1: ( ruleTask EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:90:1: ruleTask EOF
            {
             before(grammarAccess.getTaskRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleTask_in_entryRuleTask121);
            ruleTask();

            state._fsp--;

             after(grammarAccess.getTaskRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTask128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTask"


    // $ANTLR start "ruleTask"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:97:1: ruleTask : ( ( rule__Task__Alternatives ) ) ;
    public final void ruleTask() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:101:2: ( ( ( rule__Task__Alternatives ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:102:1: ( ( rule__Task__Alternatives ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:102:1: ( ( rule__Task__Alternatives ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:103:1: ( rule__Task__Alternatives )
            {
             before(grammarAccess.getTaskAccess().getAlternatives()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:104:1: ( rule__Task__Alternatives )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:104:2: rule__Task__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__Task__Alternatives_in_ruleTask154);
            rule__Task__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getTaskAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTask"


    // $ANTLR start "entryRuleCourse"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:116:1: entryRuleCourse : ruleCourse EOF ;
    public final void entryRuleCourse() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:117:1: ( ruleCourse EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:118:1: ruleCourse EOF
            {
             before(grammarAccess.getCourseRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleCourse_in_entryRuleCourse181);
            ruleCourse();

            state._fsp--;

             after(grammarAccess.getCourseRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCourse188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleCourse"


    // $ANTLR start "ruleCourse"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:125:1: ruleCourse : ( ( rule__Course__Group__0 ) ) ;
    public final void ruleCourse() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:129:2: ( ( ( rule__Course__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:130:1: ( ( rule__Course__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:130:1: ( ( rule__Course__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:131:1: ( rule__Course__Group__0 )
            {
             before(grammarAccess.getCourseAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:132:1: ( rule__Course__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:132:2: rule__Course__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__0_in_ruleCourse214);
            rule__Course__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getCourseAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleCourse"


    // $ANTLR start "entryRuleEString"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:144:1: entryRuleEString : ruleEString EOF ;
    public final void entryRuleEString() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:145:1: ( ruleEString EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:146:1: ruleEString EOF
            {
             before(grammarAccess.getEStringRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString241);
            ruleEString();

            state._fsp--;

             after(grammarAccess.getEStringRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEString"


    // $ANTLR start "ruleEString"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:153:1: ruleEString : ( ( rule__EString__Alternatives ) ) ;
    public final void ruleEString() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:157:2: ( ( ( rule__EString__Alternatives ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:158:1: ( ( rule__EString__Alternatives ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:158:1: ( ( rule__EString__Alternatives ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:159:1: ( rule__EString__Alternatives )
            {
             before(grammarAccess.getEStringAccess().getAlternatives()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:160:1: ( rule__EString__Alternatives )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:160:2: rule__EString__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__EString__Alternatives_in_ruleEString274);
            rule__EString__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getEStringAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEString"


    // $ANTLR start "entryRuleGrading"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:172:1: entryRuleGrading : ruleGrading EOF ;
    public final void entryRuleGrading() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:173:1: ( ruleGrading EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:174:1: ruleGrading EOF
            {
             before(grammarAccess.getGradingRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleGrading_in_entryRuleGrading301);
            ruleGrading();

            state._fsp--;

             after(grammarAccess.getGradingRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleGrading308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGrading"


    // $ANTLR start "ruleGrading"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:181:1: ruleGrading : ( ( rule__Grading__Group__0 ) ) ;
    public final void ruleGrading() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:185:2: ( ( ( rule__Grading__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:186:1: ( ( rule__Grading__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:186:1: ( ( rule__Grading__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:187:1: ( rule__Grading__Group__0 )
            {
             before(grammarAccess.getGradingAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:188:1: ( rule__Grading__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:188:2: rule__Grading__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__0_in_ruleGrading334);
            rule__Grading__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGradingAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGrading"


    // $ANTLR start "entryRuleGradingScheme"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:200:1: entryRuleGradingScheme : ruleGradingScheme EOF ;
    public final void entryRuleGradingScheme() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:201:1: ( ruleGradingScheme EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:202:1: ruleGradingScheme EOF
            {
             before(grammarAccess.getGradingSchemeRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleGradingScheme_in_entryRuleGradingScheme361);
            ruleGradingScheme();

            state._fsp--;

             after(grammarAccess.getGradingSchemeRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleGradingScheme368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGradingScheme"


    // $ANTLR start "ruleGradingScheme"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:209:1: ruleGradingScheme : ( ( rule__GradingScheme__Group__0 ) ) ;
    public final void ruleGradingScheme() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:213:2: ( ( ( rule__GradingScheme__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:214:1: ( ( rule__GradingScheme__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:214:1: ( ( rule__GradingScheme__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:215:1: ( rule__GradingScheme__Group__0 )
            {
             before(grammarAccess.getGradingSchemeAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:216:1: ( rule__GradingScheme__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:216:2: rule__GradingScheme__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__0_in_ruleGradingScheme394);
            rule__GradingScheme__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGradingSchemeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGradingScheme"


    // $ANTLR start "entryRuleMinRequirement"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:228:1: entryRuleMinRequirement : ruleMinRequirement EOF ;
    public final void entryRuleMinRequirement() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:229:1: ( ruleMinRequirement EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:230:1: ruleMinRequirement EOF
            {
             before(grammarAccess.getMinRequirementRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleMinRequirement_in_entryRuleMinRequirement421);
            ruleMinRequirement();

            state._fsp--;

             after(grammarAccess.getMinRequirementRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMinRequirement428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleMinRequirement"


    // $ANTLR start "ruleMinRequirement"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:237:1: ruleMinRequirement : ( ( rule__MinRequirement__Group__0 ) ) ;
    public final void ruleMinRequirement() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:241:2: ( ( ( rule__MinRequirement__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:242:1: ( ( rule__MinRequirement__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:242:1: ( ( rule__MinRequirement__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:243:1: ( rule__MinRequirement__Group__0 )
            {
             before(grammarAccess.getMinRequirementAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:244:1: ( rule__MinRequirement__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:244:2: rule__MinRequirement__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__Group__0_in_ruleMinRequirement454);
            rule__MinRequirement__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getMinRequirementAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMinRequirement"


    // $ANTLR start "entryRuleConcreteTask"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:256:1: entryRuleConcreteTask : ruleConcreteTask EOF ;
    public final void entryRuleConcreteTask() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:257:1: ( ruleConcreteTask EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:258:1: ruleConcreteTask EOF
            {
             before(grammarAccess.getConcreteTaskRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleConcreteTask_in_entryRuleConcreteTask481);
            ruleConcreteTask();

            state._fsp--;

             after(grammarAccess.getConcreteTaskRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleConcreteTask488); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleConcreteTask"


    // $ANTLR start "ruleConcreteTask"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:265:1: ruleConcreteTask : ( ( rule__ConcreteTask__Group__0 ) ) ;
    public final void ruleConcreteTask() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:269:2: ( ( ( rule__ConcreteTask__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:270:1: ( ( rule__ConcreteTask__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:270:1: ( ( rule__ConcreteTask__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:271:1: ( rule__ConcreteTask__Group__0 )
            {
             before(grammarAccess.getConcreteTaskAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:272:1: ( rule__ConcreteTask__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:272:2: rule__ConcreteTask__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__0_in_ruleConcreteTask514);
            rule__ConcreteTask__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getConcreteTaskAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleConcreteTask"


    // $ANTLR start "entryRuleTaskGroup"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:284:1: entryRuleTaskGroup : ruleTaskGroup EOF ;
    public final void entryRuleTaskGroup() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:285:1: ( ruleTaskGroup EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:286:1: ruleTaskGroup EOF
            {
             before(grammarAccess.getTaskGroupRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleTaskGroup_in_entryRuleTaskGroup541);
            ruleTaskGroup();

            state._fsp--;

             after(grammarAccess.getTaskGroupRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTaskGroup548); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleTaskGroup"


    // $ANTLR start "ruleTaskGroup"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:293:1: ruleTaskGroup : ( ( rule__TaskGroup__Group__0 ) ) ;
    public final void ruleTaskGroup() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:297:2: ( ( ( rule__TaskGroup__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:298:1: ( ( rule__TaskGroup__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:298:1: ( ( rule__TaskGroup__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:299:1: ( rule__TaskGroup__Group__0 )
            {
             before(grammarAccess.getTaskGroupAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:300:1: ( rule__TaskGroup__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:300:2: rule__TaskGroup__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__0_in_ruleTaskGroup574);
            rule__TaskGroup__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTaskGroupAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleTaskGroup"


    // $ANTLR start "entryRuleEInt"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:312:1: entryRuleEInt : ruleEInt EOF ;
    public final void entryRuleEInt() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:313:1: ( ruleEInt EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:314:1: ruleEInt EOF
            {
             before(grammarAccess.getEIntRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleEInt_in_entryRuleEInt601);
            ruleEInt();

            state._fsp--;

             after(grammarAccess.getEIntRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEInt608); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleEInt"


    // $ANTLR start "ruleEInt"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:321:1: ruleEInt : ( ( rule__EInt__Group__0 ) ) ;
    public final void ruleEInt() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:325:2: ( ( ( rule__EInt__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:326:1: ( ( rule__EInt__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:326:1: ( ( rule__EInt__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:327:1: ( rule__EInt__Group__0 )
            {
             before(grammarAccess.getEIntAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:328:1: ( rule__EInt__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:328:2: rule__EInt__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__EInt__Group__0_in_ruleEInt634);
            rule__EInt__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getEIntAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleEInt"


    // $ANTLR start "entryRuleGrade"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:340:1: entryRuleGrade : ruleGrade EOF ;
    public final void entryRuleGrade() throws RecognitionException {
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:341:1: ( ruleGrade EOF )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:342:1: ruleGrade EOF
            {
             before(grammarAccess.getGradeRule()); 
            pushFollow(FollowSets000.FOLLOW_ruleGrade_in_entryRuleGrade661);
            ruleGrade();

            state._fsp--;

             after(grammarAccess.getGradeRule()); 
            match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleGrade668); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGrade"


    // $ANTLR start "ruleGrade"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:349:1: ruleGrade : ( ( rule__Grade__Group__0 ) ) ;
    public final void ruleGrade() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:353:2: ( ( ( rule__Grade__Group__0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:354:1: ( ( rule__Grade__Group__0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:354:1: ( ( rule__Grade__Group__0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:355:1: ( rule__Grade__Group__0 )
            {
             before(grammarAccess.getGradeAccess().getGroup()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:356:1: ( rule__Grade__Group__0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:356:2: rule__Grade__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__0_in_ruleGrade694);
            rule__Grade__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGradeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGrade"


    // $ANTLR start "ruleMinRequirementsType"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:369:1: ruleMinRequirementsType : ( ( rule__MinRequirementsType__Alternatives ) ) ;
    public final void ruleMinRequirementsType() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:373:1: ( ( ( rule__MinRequirementsType__Alternatives ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:374:1: ( ( rule__MinRequirementsType__Alternatives ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:374:1: ( ( rule__MinRequirementsType__Alternatives ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:375:1: ( rule__MinRequirementsType__Alternatives )
            {
             before(grammarAccess.getMinRequirementsTypeAccess().getAlternatives()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:376:1: ( rule__MinRequirementsType__Alternatives )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:376:2: rule__MinRequirementsType__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_rule__MinRequirementsType__Alternatives_in_ruleMinRequirementsType731);
            rule__MinRequirementsType__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getMinRequirementsTypeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleMinRequirementsType"


    // $ANTLR start "rule__Task__Alternatives"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:387:1: rule__Task__Alternatives : ( ( ruleConcreteTask ) | ( ruleTaskGroup ) );
    public final void rule__Task__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:391:1: ( ( ruleConcreteTask ) | ( ruleTaskGroup ) )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==RULE_STRING) ) {
                int LA1_1 = input.LA(2);

                if ( (LA1_1==18) ) {
                    alt1=1;
                }
                else if ( (LA1_1==14) ) {
                    alt1=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 1, 1, input);

                    throw nvae;
                }
            }
            else if ( (LA1_0==RULE_ID) ) {
                int LA1_2 = input.LA(2);

                if ( (LA1_2==14) ) {
                    alt1=2;
                }
                else if ( (LA1_2==18) ) {
                    alt1=1;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 1, 2, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:392:1: ( ruleConcreteTask )
                    {
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:392:1: ( ruleConcreteTask )
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:393:1: ruleConcreteTask
                    {
                     before(grammarAccess.getTaskAccess().getConcreteTaskParserRuleCall_0()); 
                    pushFollow(FollowSets000.FOLLOW_ruleConcreteTask_in_rule__Task__Alternatives766);
                    ruleConcreteTask();

                    state._fsp--;

                     after(grammarAccess.getTaskAccess().getConcreteTaskParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:398:6: ( ruleTaskGroup )
                    {
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:398:6: ( ruleTaskGroup )
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:399:1: ruleTaskGroup
                    {
                     before(grammarAccess.getTaskAccess().getTaskGroupParserRuleCall_1()); 
                    pushFollow(FollowSets000.FOLLOW_ruleTaskGroup_in_rule__Task__Alternatives783);
                    ruleTaskGroup();

                    state._fsp--;

                     after(grammarAccess.getTaskAccess().getTaskGroupParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Task__Alternatives"


    // $ANTLR start "rule__EString__Alternatives"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:409:1: rule__EString__Alternatives : ( ( RULE_STRING ) | ( RULE_ID ) );
    public final void rule__EString__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:413:1: ( ( RULE_STRING ) | ( RULE_ID ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==RULE_STRING) ) {
                alt2=1;
            }
            else if ( (LA2_0==RULE_ID) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:414:1: ( RULE_STRING )
                    {
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:414:1: ( RULE_STRING )
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:415:1: RULE_STRING
                    {
                     before(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 
                    match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_rule__EString__Alternatives815); 
                     after(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:420:6: ( RULE_ID )
                    {
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:420:6: ( RULE_ID )
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:421:1: RULE_ID
                    {
                     before(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 
                    match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_rule__EString__Alternatives832); 
                     after(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EString__Alternatives"


    // $ANTLR start "rule__MinRequirementsType__Alternatives"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:431:1: rule__MinRequirementsType__Alternatives : ( ( ( '%' ) ) | ( ( 'point(s)' ) ) );
    public final void rule__MinRequirementsType__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:435:1: ( ( ( '%' ) ) | ( ( 'point(s)' ) ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==11) ) {
                alt3=1;
            }
            else if ( (LA3_0==12) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:436:1: ( ( '%' ) )
                    {
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:436:1: ( ( '%' ) )
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:437:1: ( '%' )
                    {
                     before(grammarAccess.getMinRequirementsTypeAccess().getPercentageEnumLiteralDeclaration_0()); 
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:438:1: ( '%' )
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:438:3: '%'
                    {
                    match(input,11,FollowSets000.FOLLOW_11_in_rule__MinRequirementsType__Alternatives865); 

                    }

                     after(grammarAccess.getMinRequirementsTypeAccess().getPercentageEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:443:6: ( ( 'point(s)' ) )
                    {
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:443:6: ( ( 'point(s)' ) )
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:444:1: ( 'point(s)' )
                    {
                     before(grammarAccess.getMinRequirementsTypeAccess().getAbsoluteEnumLiteralDeclaration_1()); 
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:445:1: ( 'point(s)' )
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:445:3: 'point(s)'
                    {
                    match(input,12,FollowSets000.FOLLOW_12_in_rule__MinRequirementsType__Alternatives886); 

                    }

                     after(grammarAccess.getMinRequirementsTypeAccess().getAbsoluteEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirementsType__Alternatives"


    // $ANTLR start "rule__GradingSystem__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:457:1: rule__GradingSystem__Group__0 : rule__GradingSystem__Group__0__Impl rule__GradingSystem__Group__1 ;
    public final void rule__GradingSystem__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:461:1: ( rule__GradingSystem__Group__0__Impl rule__GradingSystem__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:462:2: rule__GradingSystem__Group__0__Impl rule__GradingSystem__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingSystem__Group__0__Impl_in_rule__GradingSystem__Group__0919);
            rule__GradingSystem__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GradingSystem__Group__1_in_rule__GradingSystem__Group__0922);
            rule__GradingSystem__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingSystem__Group__0"


    // $ANTLR start "rule__GradingSystem__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:469:1: rule__GradingSystem__Group__0__Impl : ( () ) ;
    public final void rule__GradingSystem__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:473:1: ( ( () ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:474:1: ( () )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:474:1: ( () )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:475:1: ()
            {
             before(grammarAccess.getGradingSystemAccess().getGradingSystemAction_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:476:1: ()
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:478:1: 
            {
            }

             after(grammarAccess.getGradingSystemAccess().getGradingSystemAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingSystem__Group__0__Impl"


    // $ANTLR start "rule__GradingSystem__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:488:1: rule__GradingSystem__Group__1 : rule__GradingSystem__Group__1__Impl ;
    public final void rule__GradingSystem__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:492:1: ( rule__GradingSystem__Group__1__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:493:2: rule__GradingSystem__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingSystem__Group__1__Impl_in_rule__GradingSystem__Group__1980);
            rule__GradingSystem__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingSystem__Group__1"


    // $ANTLR start "rule__GradingSystem__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:499:1: rule__GradingSystem__Group__1__Impl : ( ( ( rule__GradingSystem__CoursesAssignment_1 ) ) ( ( rule__GradingSystem__CoursesAssignment_1 )* ) ) ;
    public final void rule__GradingSystem__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:503:1: ( ( ( ( rule__GradingSystem__CoursesAssignment_1 ) ) ( ( rule__GradingSystem__CoursesAssignment_1 )* ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:504:1: ( ( ( rule__GradingSystem__CoursesAssignment_1 ) ) ( ( rule__GradingSystem__CoursesAssignment_1 )* ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:504:1: ( ( ( rule__GradingSystem__CoursesAssignment_1 ) ) ( ( rule__GradingSystem__CoursesAssignment_1 )* ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:505:1: ( ( rule__GradingSystem__CoursesAssignment_1 ) ) ( ( rule__GradingSystem__CoursesAssignment_1 )* )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:505:1: ( ( rule__GradingSystem__CoursesAssignment_1 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:506:1: ( rule__GradingSystem__CoursesAssignment_1 )
            {
             before(grammarAccess.getGradingSystemAccess().getCoursesAssignment_1()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:507:1: ( rule__GradingSystem__CoursesAssignment_1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:507:2: rule__GradingSystem__CoursesAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingSystem__CoursesAssignment_1_in_rule__GradingSystem__Group__1__Impl1009);
            rule__GradingSystem__CoursesAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getGradingSystemAccess().getCoursesAssignment_1()); 

            }

            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:510:1: ( ( rule__GradingSystem__CoursesAssignment_1 )* )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:511:1: ( rule__GradingSystem__CoursesAssignment_1 )*
            {
             before(grammarAccess.getGradingSystemAccess().getCoursesAssignment_1()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:512:1: ( rule__GradingSystem__CoursesAssignment_1 )*
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( (LA4_0==13) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:512:2: rule__GradingSystem__CoursesAssignment_1
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__GradingSystem__CoursesAssignment_1_in_rule__GradingSystem__Group__1__Impl1021);
            	    rule__GradingSystem__CoursesAssignment_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop4;
                }
            } while (true);

             after(grammarAccess.getGradingSystemAccess().getCoursesAssignment_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingSystem__Group__1__Impl"


    // $ANTLR start "rule__Course__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:527:1: rule__Course__Group__0 : rule__Course__Group__0__Impl rule__Course__Group__1 ;
    public final void rule__Course__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:531:1: ( rule__Course__Group__0__Impl rule__Course__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:532:2: rule__Course__Group__0__Impl rule__Course__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__0__Impl_in_rule__Course__Group__01058);
            rule__Course__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__1_in_rule__Course__Group__01061);
            rule__Course__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__0"


    // $ANTLR start "rule__Course__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:539:1: rule__Course__Group__0__Impl : ( () ) ;
    public final void rule__Course__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:543:1: ( ( () ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:544:1: ( () )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:544:1: ( () )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:545:1: ()
            {
             before(grammarAccess.getCourseAccess().getCourseAction_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:546:1: ()
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:548:1: 
            {
            }

             after(grammarAccess.getCourseAccess().getCourseAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__0__Impl"


    // $ANTLR start "rule__Course__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:558:1: rule__Course__Group__1 : rule__Course__Group__1__Impl rule__Course__Group__2 ;
    public final void rule__Course__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:562:1: ( rule__Course__Group__1__Impl rule__Course__Group__2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:563:2: rule__Course__Group__1__Impl rule__Course__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__1__Impl_in_rule__Course__Group__11119);
            rule__Course__Group__1__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__2_in_rule__Course__Group__11122);
            rule__Course__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__1"


    // $ANTLR start "rule__Course__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:570:1: rule__Course__Group__1__Impl : ( 'course' ) ;
    public final void rule__Course__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:574:1: ( ( 'course' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:575:1: ( 'course' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:575:1: ( 'course' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:576:1: 'course'
            {
             before(grammarAccess.getCourseAccess().getCourseKeyword_1()); 
            match(input,13,FollowSets000.FOLLOW_13_in_rule__Course__Group__1__Impl1150); 
             after(grammarAccess.getCourseAccess().getCourseKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__1__Impl"


    // $ANTLR start "rule__Course__Group__2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:589:1: rule__Course__Group__2 : rule__Course__Group__2__Impl rule__Course__Group__3 ;
    public final void rule__Course__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:593:1: ( rule__Course__Group__2__Impl rule__Course__Group__3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:594:2: rule__Course__Group__2__Impl rule__Course__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__2__Impl_in_rule__Course__Group__21181);
            rule__Course__Group__2__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__3_in_rule__Course__Group__21184);
            rule__Course__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__2"


    // $ANTLR start "rule__Course__Group__2__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:601:1: rule__Course__Group__2__Impl : ( ( rule__Course__NameAssignment_2 ) ) ;
    public final void rule__Course__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:605:1: ( ( ( rule__Course__NameAssignment_2 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:606:1: ( ( rule__Course__NameAssignment_2 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:606:1: ( ( rule__Course__NameAssignment_2 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:607:1: ( rule__Course__NameAssignment_2 )
            {
             before(grammarAccess.getCourseAccess().getNameAssignment_2()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:608:1: ( rule__Course__NameAssignment_2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:608:2: rule__Course__NameAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__NameAssignment_2_in_rule__Course__Group__2__Impl1211);
            rule__Course__NameAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getCourseAccess().getNameAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__2__Impl"


    // $ANTLR start "rule__Course__Group__3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:618:1: rule__Course__Group__3 : rule__Course__Group__3__Impl rule__Course__Group__4 ;
    public final void rule__Course__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:622:1: ( rule__Course__Group__3__Impl rule__Course__Group__4 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:623:2: rule__Course__Group__3__Impl rule__Course__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__3__Impl_in_rule__Course__Group__31241);
            rule__Course__Group__3__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__4_in_rule__Course__Group__31244);
            rule__Course__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__3"


    // $ANTLR start "rule__Course__Group__3__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:630:1: rule__Course__Group__3__Impl : ( '{' ) ;
    public final void rule__Course__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:634:1: ( ( '{' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:635:1: ( '{' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:635:1: ( '{' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:636:1: '{'
            {
             before(grammarAccess.getCourseAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,14,FollowSets000.FOLLOW_14_in_rule__Course__Group__3__Impl1272); 
             after(grammarAccess.getCourseAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__3__Impl"


    // $ANTLR start "rule__Course__Group__4"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:649:1: rule__Course__Group__4 : rule__Course__Group__4__Impl rule__Course__Group__5 ;
    public final void rule__Course__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:653:1: ( rule__Course__Group__4__Impl rule__Course__Group__5 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:654:2: rule__Course__Group__4__Impl rule__Course__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__4__Impl_in_rule__Course__Group__41303);
            rule__Course__Group__4__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__5_in_rule__Course__Group__41306);
            rule__Course__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__4"


    // $ANTLR start "rule__Course__Group__4__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:661:1: rule__Course__Group__4__Impl : ( ( ( rule__Course__GradingsAssignment_4 ) ) ( ( rule__Course__GradingsAssignment_4 )* ) ) ;
    public final void rule__Course__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:665:1: ( ( ( ( rule__Course__GradingsAssignment_4 ) ) ( ( rule__Course__GradingsAssignment_4 )* ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:666:1: ( ( ( rule__Course__GradingsAssignment_4 ) ) ( ( rule__Course__GradingsAssignment_4 )* ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:666:1: ( ( ( rule__Course__GradingsAssignment_4 ) ) ( ( rule__Course__GradingsAssignment_4 )* ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:667:1: ( ( rule__Course__GradingsAssignment_4 ) ) ( ( rule__Course__GradingsAssignment_4 )* )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:667:1: ( ( rule__Course__GradingsAssignment_4 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:668:1: ( rule__Course__GradingsAssignment_4 )
            {
             before(grammarAccess.getCourseAccess().getGradingsAssignment_4()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:669:1: ( rule__Course__GradingsAssignment_4 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:669:2: rule__Course__GradingsAssignment_4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__GradingsAssignment_4_in_rule__Course__Group__4__Impl1335);
            rule__Course__GradingsAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getCourseAccess().getGradingsAssignment_4()); 

            }

            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:672:1: ( ( rule__Course__GradingsAssignment_4 )* )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:673:1: ( rule__Course__GradingsAssignment_4 )*
            {
             before(grammarAccess.getCourseAccess().getGradingsAssignment_4()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:674:1: ( rule__Course__GradingsAssignment_4 )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( (LA5_0==16) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:674:2: rule__Course__GradingsAssignment_4
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Course__GradingsAssignment_4_in_rule__Course__Group__4__Impl1347);
            	    rule__Course__GradingsAssignment_4();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);

             after(grammarAccess.getCourseAccess().getGradingsAssignment_4()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__4__Impl"


    // $ANTLR start "rule__Course__Group__5"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:685:1: rule__Course__Group__5 : rule__Course__Group__5__Impl ;
    public final void rule__Course__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:689:1: ( rule__Course__Group__5__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:690:2: rule__Course__Group__5__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Course__Group__5__Impl_in_rule__Course__Group__51380);
            rule__Course__Group__5__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__5"


    // $ANTLR start "rule__Course__Group__5__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:696:1: rule__Course__Group__5__Impl : ( '}' ) ;
    public final void rule__Course__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:700:1: ( ( '}' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:701:1: ( '}' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:701:1: ( '}' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:702:1: '}'
            {
             before(grammarAccess.getCourseAccess().getRightCurlyBracketKeyword_5()); 
            match(input,15,FollowSets000.FOLLOW_15_in_rule__Course__Group__5__Impl1408); 
             after(grammarAccess.getCourseAccess().getRightCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__Group__5__Impl"


    // $ANTLR start "rule__Grading__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:727:1: rule__Grading__Group__0 : rule__Grading__Group__0__Impl rule__Grading__Group__1 ;
    public final void rule__Grading__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:731:1: ( rule__Grading__Group__0__Impl rule__Grading__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:732:2: rule__Grading__Group__0__Impl rule__Grading__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__0__Impl_in_rule__Grading__Group__01451);
            rule__Grading__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__1_in_rule__Grading__Group__01454);
            rule__Grading__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__0"


    // $ANTLR start "rule__Grading__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:739:1: rule__Grading__Group__0__Impl : ( () ) ;
    public final void rule__Grading__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:743:1: ( ( () ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:744:1: ( () )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:744:1: ( () )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:745:1: ()
            {
             before(grammarAccess.getGradingAccess().getGradingAction_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:746:1: ()
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:748:1: 
            {
            }

             after(grammarAccess.getGradingAccess().getGradingAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__0__Impl"


    // $ANTLR start "rule__Grading__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:758:1: rule__Grading__Group__1 : rule__Grading__Group__1__Impl rule__Grading__Group__2 ;
    public final void rule__Grading__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:762:1: ( rule__Grading__Group__1__Impl rule__Grading__Group__2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:763:2: rule__Grading__Group__1__Impl rule__Grading__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__1__Impl_in_rule__Grading__Group__11512);
            rule__Grading__Group__1__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__2_in_rule__Grading__Group__11515);
            rule__Grading__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__1"


    // $ANTLR start "rule__Grading__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:770:1: rule__Grading__Group__1__Impl : ( 'semester' ) ;
    public final void rule__Grading__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:774:1: ( ( 'semester' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:775:1: ( 'semester' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:775:1: ( 'semester' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:776:1: 'semester'
            {
             before(grammarAccess.getGradingAccess().getSemesterKeyword_1()); 
            match(input,16,FollowSets000.FOLLOW_16_in_rule__Grading__Group__1__Impl1543); 
             after(grammarAccess.getGradingAccess().getSemesterKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__1__Impl"


    // $ANTLR start "rule__Grading__Group__2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:789:1: rule__Grading__Group__2 : rule__Grading__Group__2__Impl rule__Grading__Group__3 ;
    public final void rule__Grading__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:793:1: ( rule__Grading__Group__2__Impl rule__Grading__Group__3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:794:2: rule__Grading__Group__2__Impl rule__Grading__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__2__Impl_in_rule__Grading__Group__21574);
            rule__Grading__Group__2__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__3_in_rule__Grading__Group__21577);
            rule__Grading__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__2"


    // $ANTLR start "rule__Grading__Group__2__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:801:1: rule__Grading__Group__2__Impl : ( ( rule__Grading__SemesterAssignment_2 ) ) ;
    public final void rule__Grading__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:805:1: ( ( ( rule__Grading__SemesterAssignment_2 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:806:1: ( ( rule__Grading__SemesterAssignment_2 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:806:1: ( ( rule__Grading__SemesterAssignment_2 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:807:1: ( rule__Grading__SemesterAssignment_2 )
            {
             before(grammarAccess.getGradingAccess().getSemesterAssignment_2()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:808:1: ( rule__Grading__SemesterAssignment_2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:808:2: rule__Grading__SemesterAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__SemesterAssignment_2_in_rule__Grading__Group__2__Impl1604);
            rule__Grading__SemesterAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getGradingAccess().getSemesterAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__2__Impl"


    // $ANTLR start "rule__Grading__Group__3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:818:1: rule__Grading__Group__3 : rule__Grading__Group__3__Impl rule__Grading__Group__4 ;
    public final void rule__Grading__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:822:1: ( rule__Grading__Group__3__Impl rule__Grading__Group__4 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:823:2: rule__Grading__Group__3__Impl rule__Grading__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__3__Impl_in_rule__Grading__Group__31634);
            rule__Grading__Group__3__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__4_in_rule__Grading__Group__31637);
            rule__Grading__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__3"


    // $ANTLR start "rule__Grading__Group__3__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:830:1: rule__Grading__Group__3__Impl : ( '{' ) ;
    public final void rule__Grading__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:834:1: ( ( '{' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:835:1: ( '{' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:835:1: ( '{' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:836:1: '{'
            {
             before(grammarAccess.getGradingAccess().getLeftCurlyBracketKeyword_3()); 
            match(input,14,FollowSets000.FOLLOW_14_in_rule__Grading__Group__3__Impl1665); 
             after(grammarAccess.getGradingAccess().getLeftCurlyBracketKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__3__Impl"


    // $ANTLR start "rule__Grading__Group__4"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:849:1: rule__Grading__Group__4 : rule__Grading__Group__4__Impl rule__Grading__Group__5 ;
    public final void rule__Grading__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:853:1: ( rule__Grading__Group__4__Impl rule__Grading__Group__5 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:854:2: rule__Grading__Group__4__Impl rule__Grading__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__4__Impl_in_rule__Grading__Group__41696);
            rule__Grading__Group__4__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__5_in_rule__Grading__Group__41699);
            rule__Grading__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__4"


    // $ANTLR start "rule__Grading__Group__4__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:861:1: rule__Grading__Group__4__Impl : ( ( rule__Grading__GradingSchemeAssignment_4 ) ) ;
    public final void rule__Grading__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:865:1: ( ( ( rule__Grading__GradingSchemeAssignment_4 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:866:1: ( ( rule__Grading__GradingSchemeAssignment_4 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:866:1: ( ( rule__Grading__GradingSchemeAssignment_4 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:867:1: ( rule__Grading__GradingSchemeAssignment_4 )
            {
             before(grammarAccess.getGradingAccess().getGradingSchemeAssignment_4()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:868:1: ( rule__Grading__GradingSchemeAssignment_4 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:868:2: rule__Grading__GradingSchemeAssignment_4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__GradingSchemeAssignment_4_in_rule__Grading__Group__4__Impl1726);
            rule__Grading__GradingSchemeAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getGradingAccess().getGradingSchemeAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__4__Impl"


    // $ANTLR start "rule__Grading__Group__5"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:878:1: rule__Grading__Group__5 : rule__Grading__Group__5__Impl rule__Grading__Group__6 ;
    public final void rule__Grading__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:882:1: ( rule__Grading__Group__5__Impl rule__Grading__Group__6 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:883:2: rule__Grading__Group__5__Impl rule__Grading__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__5__Impl_in_rule__Grading__Group__51756);
            rule__Grading__Group__5__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__6_in_rule__Grading__Group__51759);
            rule__Grading__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__5"


    // $ANTLR start "rule__Grading__Group__5__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:890:1: rule__Grading__Group__5__Impl : ( ( ( rule__Grading__TasksAssignment_5 ) ) ( ( rule__Grading__TasksAssignment_5 )* ) ) ;
    public final void rule__Grading__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:894:1: ( ( ( ( rule__Grading__TasksAssignment_5 ) ) ( ( rule__Grading__TasksAssignment_5 )* ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:895:1: ( ( ( rule__Grading__TasksAssignment_5 ) ) ( ( rule__Grading__TasksAssignment_5 )* ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:895:1: ( ( ( rule__Grading__TasksAssignment_5 ) ) ( ( rule__Grading__TasksAssignment_5 )* ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:896:1: ( ( rule__Grading__TasksAssignment_5 ) ) ( ( rule__Grading__TasksAssignment_5 )* )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:896:1: ( ( rule__Grading__TasksAssignment_5 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:897:1: ( rule__Grading__TasksAssignment_5 )
            {
             before(grammarAccess.getGradingAccess().getTasksAssignment_5()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:898:1: ( rule__Grading__TasksAssignment_5 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:898:2: rule__Grading__TasksAssignment_5
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__TasksAssignment_5_in_rule__Grading__Group__5__Impl1788);
            rule__Grading__TasksAssignment_5();

            state._fsp--;


            }

             after(grammarAccess.getGradingAccess().getTasksAssignment_5()); 

            }

            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:901:1: ( ( rule__Grading__TasksAssignment_5 )* )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:902:1: ( rule__Grading__TasksAssignment_5 )*
            {
             before(grammarAccess.getGradingAccess().getTasksAssignment_5()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:903:1: ( rule__Grading__TasksAssignment_5 )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( ((LA6_0>=RULE_STRING && LA6_0<=RULE_ID)) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:903:2: rule__Grading__TasksAssignment_5
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__Grading__TasksAssignment_5_in_rule__Grading__Group__5__Impl1800);
            	    rule__Grading__TasksAssignment_5();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

             after(grammarAccess.getGradingAccess().getTasksAssignment_5()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__5__Impl"


    // $ANTLR start "rule__Grading__Group__6"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:914:1: rule__Grading__Group__6 : rule__Grading__Group__6__Impl ;
    public final void rule__Grading__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:918:1: ( rule__Grading__Group__6__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:919:2: rule__Grading__Group__6__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grading__Group__6__Impl_in_rule__Grading__Group__61833);
            rule__Grading__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__6"


    // $ANTLR start "rule__Grading__Group__6__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:925:1: rule__Grading__Group__6__Impl : ( '}' ) ;
    public final void rule__Grading__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:929:1: ( ( '}' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:930:1: ( '}' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:930:1: ( '}' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:931:1: '}'
            {
             before(grammarAccess.getGradingAccess().getRightCurlyBracketKeyword_6()); 
            match(input,15,FollowSets000.FOLLOW_15_in_rule__Grading__Group__6__Impl1861); 
             after(grammarAccess.getGradingAccess().getRightCurlyBracketKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__Group__6__Impl"


    // $ANTLR start "rule__GradingScheme__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:958:1: rule__GradingScheme__Group__0 : rule__GradingScheme__Group__0__Impl rule__GradingScheme__Group__1 ;
    public final void rule__GradingScheme__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:962:1: ( rule__GradingScheme__Group__0__Impl rule__GradingScheme__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:963:2: rule__GradingScheme__Group__0__Impl rule__GradingScheme__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__0__Impl_in_rule__GradingScheme__Group__01906);
            rule__GradingScheme__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__1_in_rule__GradingScheme__Group__01909);
            rule__GradingScheme__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__0"


    // $ANTLR start "rule__GradingScheme__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:970:1: rule__GradingScheme__Group__0__Impl : ( () ) ;
    public final void rule__GradingScheme__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:974:1: ( ( () ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:975:1: ( () )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:975:1: ( () )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:976:1: ()
            {
             before(grammarAccess.getGradingSchemeAccess().getGradingSchemeAction_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:977:1: ()
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:979:1: 
            {
            }

             after(grammarAccess.getGradingSchemeAccess().getGradingSchemeAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__0__Impl"


    // $ANTLR start "rule__GradingScheme__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:989:1: rule__GradingScheme__Group__1 : rule__GradingScheme__Group__1__Impl rule__GradingScheme__Group__2 ;
    public final void rule__GradingScheme__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:993:1: ( rule__GradingScheme__Group__1__Impl rule__GradingScheme__Group__2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:994:2: rule__GradingScheme__Group__1__Impl rule__GradingScheme__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__1__Impl_in_rule__GradingScheme__Group__11967);
            rule__GradingScheme__Group__1__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__2_in_rule__GradingScheme__Group__11970);
            rule__GradingScheme__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__1"


    // $ANTLR start "rule__GradingScheme__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1001:1: rule__GradingScheme__Group__1__Impl : ( 'grading scheme' ) ;
    public final void rule__GradingScheme__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1005:1: ( ( 'grading scheme' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1006:1: ( 'grading scheme' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1006:1: ( 'grading scheme' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1007:1: 'grading scheme'
            {
             before(grammarAccess.getGradingSchemeAccess().getGradingSchemeKeyword_1()); 
            match(input,17,FollowSets000.FOLLOW_17_in_rule__GradingScheme__Group__1__Impl1998); 
             after(grammarAccess.getGradingSchemeAccess().getGradingSchemeKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__1__Impl"


    // $ANTLR start "rule__GradingScheme__Group__2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1020:1: rule__GradingScheme__Group__2 : rule__GradingScheme__Group__2__Impl rule__GradingScheme__Group__3 ;
    public final void rule__GradingScheme__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1024:1: ( rule__GradingScheme__Group__2__Impl rule__GradingScheme__Group__3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1025:2: rule__GradingScheme__Group__2__Impl rule__GradingScheme__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__2__Impl_in_rule__GradingScheme__Group__22029);
            rule__GradingScheme__Group__2__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__3_in_rule__GradingScheme__Group__22032);
            rule__GradingScheme__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__2"


    // $ANTLR start "rule__GradingScheme__Group__2__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1032:1: rule__GradingScheme__Group__2__Impl : ( '(' ) ;
    public final void rule__GradingScheme__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1036:1: ( ( '(' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1037:1: ( '(' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1037:1: ( '(' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1038:1: '('
            {
             before(grammarAccess.getGradingSchemeAccess().getLeftParenthesisKeyword_2()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__GradingScheme__Group__2__Impl2060); 
             after(grammarAccess.getGradingSchemeAccess().getLeftParenthesisKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__2__Impl"


    // $ANTLR start "rule__GradingScheme__Group__3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1051:1: rule__GradingScheme__Group__3 : rule__GradingScheme__Group__3__Impl rule__GradingScheme__Group__4 ;
    public final void rule__GradingScheme__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1055:1: ( rule__GradingScheme__Group__3__Impl rule__GradingScheme__Group__4 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1056:2: rule__GradingScheme__Group__3__Impl rule__GradingScheme__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__3__Impl_in_rule__GradingScheme__Group__32091);
            rule__GradingScheme__Group__3__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__4_in_rule__GradingScheme__Group__32094);
            rule__GradingScheme__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__3"


    // $ANTLR start "rule__GradingScheme__Group__3__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1063:1: rule__GradingScheme__Group__3__Impl : ( ( rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3 ) ) ;
    public final void rule__GradingScheme__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1067:1: ( ( ( rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1068:1: ( ( rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1068:1: ( ( rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1069:1: ( rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3 )
            {
             before(grammarAccess.getGradingSchemeAccess().getMinRequirementNotFulfilledGradeAssignment_3()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1070:1: ( rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1070:2: rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3_in_rule__GradingScheme__Group__3__Impl2121);
            rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getGradingSchemeAccess().getMinRequirementNotFulfilledGradeAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__3__Impl"


    // $ANTLR start "rule__GradingScheme__Group__4"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1080:1: rule__GradingScheme__Group__4 : rule__GradingScheme__Group__4__Impl rule__GradingScheme__Group__5 ;
    public final void rule__GradingScheme__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1084:1: ( rule__GradingScheme__Group__4__Impl rule__GradingScheme__Group__5 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1085:2: rule__GradingScheme__Group__4__Impl rule__GradingScheme__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__4__Impl_in_rule__GradingScheme__Group__42151);
            rule__GradingScheme__Group__4__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__5_in_rule__GradingScheme__Group__42154);
            rule__GradingScheme__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__4"


    // $ANTLR start "rule__GradingScheme__Group__4__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1092:1: rule__GradingScheme__Group__4__Impl : ( ')' ) ;
    public final void rule__GradingScheme__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1096:1: ( ( ')' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1097:1: ( ')' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1097:1: ( ')' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1098:1: ')'
            {
             before(grammarAccess.getGradingSchemeAccess().getRightParenthesisKeyword_4()); 
            match(input,19,FollowSets000.FOLLOW_19_in_rule__GradingScheme__Group__4__Impl2182); 
             after(grammarAccess.getGradingSchemeAccess().getRightParenthesisKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__4__Impl"


    // $ANTLR start "rule__GradingScheme__Group__5"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1111:1: rule__GradingScheme__Group__5 : rule__GradingScheme__Group__5__Impl rule__GradingScheme__Group__6 ;
    public final void rule__GradingScheme__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1115:1: ( rule__GradingScheme__Group__5__Impl rule__GradingScheme__Group__6 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1116:2: rule__GradingScheme__Group__5__Impl rule__GradingScheme__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__5__Impl_in_rule__GradingScheme__Group__52213);
            rule__GradingScheme__Group__5__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__6_in_rule__GradingScheme__Group__52216);
            rule__GradingScheme__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__5"


    // $ANTLR start "rule__GradingScheme__Group__5__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1123:1: rule__GradingScheme__Group__5__Impl : ( '{' ) ;
    public final void rule__GradingScheme__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1127:1: ( ( '{' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1128:1: ( '{' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1128:1: ( '{' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1129:1: '{'
            {
             before(grammarAccess.getGradingSchemeAccess().getLeftCurlyBracketKeyword_5()); 
            match(input,14,FollowSets000.FOLLOW_14_in_rule__GradingScheme__Group__5__Impl2244); 
             after(grammarAccess.getGradingSchemeAccess().getLeftCurlyBracketKeyword_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__5__Impl"


    // $ANTLR start "rule__GradingScheme__Group__6"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1142:1: rule__GradingScheme__Group__6 : rule__GradingScheme__Group__6__Impl rule__GradingScheme__Group__7 ;
    public final void rule__GradingScheme__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1146:1: ( rule__GradingScheme__Group__6__Impl rule__GradingScheme__Group__7 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1147:2: rule__GradingScheme__Group__6__Impl rule__GradingScheme__Group__7
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__6__Impl_in_rule__GradingScheme__Group__62275);
            rule__GradingScheme__Group__6__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__7_in_rule__GradingScheme__Group__62278);
            rule__GradingScheme__Group__7();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__6"


    // $ANTLR start "rule__GradingScheme__Group__6__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1154:1: rule__GradingScheme__Group__6__Impl : ( ( ( rule__GradingScheme__GradesAssignment_6 ) ) ( ( rule__GradingScheme__GradesAssignment_6 )* ) ) ;
    public final void rule__GradingScheme__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1158:1: ( ( ( ( rule__GradingScheme__GradesAssignment_6 ) ) ( ( rule__GradingScheme__GradesAssignment_6 )* ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1159:1: ( ( ( rule__GradingScheme__GradesAssignment_6 ) ) ( ( rule__GradingScheme__GradesAssignment_6 )* ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1159:1: ( ( ( rule__GradingScheme__GradesAssignment_6 ) ) ( ( rule__GradingScheme__GradesAssignment_6 )* ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1160:1: ( ( rule__GradingScheme__GradesAssignment_6 ) ) ( ( rule__GradingScheme__GradesAssignment_6 )* )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1160:1: ( ( rule__GradingScheme__GradesAssignment_6 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1161:1: ( rule__GradingScheme__GradesAssignment_6 )
            {
             before(grammarAccess.getGradingSchemeAccess().getGradesAssignment_6()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1162:1: ( rule__GradingScheme__GradesAssignment_6 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1162:2: rule__GradingScheme__GradesAssignment_6
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__GradesAssignment_6_in_rule__GradingScheme__Group__6__Impl2307);
            rule__GradingScheme__GradesAssignment_6();

            state._fsp--;


            }

             after(grammarAccess.getGradingSchemeAccess().getGradesAssignment_6()); 

            }

            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1165:1: ( ( rule__GradingScheme__GradesAssignment_6 )* )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1166:1: ( rule__GradingScheme__GradesAssignment_6 )*
            {
             before(grammarAccess.getGradingSchemeAccess().getGradesAssignment_6()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1167:1: ( rule__GradingScheme__GradesAssignment_6 )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( ((LA7_0>=RULE_STRING && LA7_0<=RULE_ID)) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1167:2: rule__GradingScheme__GradesAssignment_6
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__GradesAssignment_6_in_rule__GradingScheme__Group__6__Impl2319);
            	    rule__GradingScheme__GradesAssignment_6();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);

             after(grammarAccess.getGradingSchemeAccess().getGradesAssignment_6()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__6__Impl"


    // $ANTLR start "rule__GradingScheme__Group__7"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1178:1: rule__GradingScheme__Group__7 : rule__GradingScheme__Group__7__Impl ;
    public final void rule__GradingScheme__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1182:1: ( rule__GradingScheme__Group__7__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1183:2: rule__GradingScheme__Group__7__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__GradingScheme__Group__7__Impl_in_rule__GradingScheme__Group__72352);
            rule__GradingScheme__Group__7__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__7"


    // $ANTLR start "rule__GradingScheme__Group__7__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1189:1: rule__GradingScheme__Group__7__Impl : ( '}' ) ;
    public final void rule__GradingScheme__Group__7__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1193:1: ( ( '}' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1194:1: ( '}' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1194:1: ( '}' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1195:1: '}'
            {
             before(grammarAccess.getGradingSchemeAccess().getRightCurlyBracketKeyword_7()); 
            match(input,15,FollowSets000.FOLLOW_15_in_rule__GradingScheme__Group__7__Impl2380); 
             after(grammarAccess.getGradingSchemeAccess().getRightCurlyBracketKeyword_7()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__Group__7__Impl"


    // $ANTLR start "rule__MinRequirement__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1224:1: rule__MinRequirement__Group__0 : rule__MinRequirement__Group__0__Impl rule__MinRequirement__Group__1 ;
    public final void rule__MinRequirement__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1228:1: ( rule__MinRequirement__Group__0__Impl rule__MinRequirement__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1229:2: rule__MinRequirement__Group__0__Impl rule__MinRequirement__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__Group__0__Impl_in_rule__MinRequirement__Group__02427);
            rule__MinRequirement__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__Group__1_in_rule__MinRequirement__Group__02430);
            rule__MinRequirement__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__Group__0"


    // $ANTLR start "rule__MinRequirement__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1236:1: rule__MinRequirement__Group__0__Impl : ( () ) ;
    public final void rule__MinRequirement__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1240:1: ( ( () ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1241:1: ( () )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1241:1: ( () )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1242:1: ()
            {
             before(grammarAccess.getMinRequirementAccess().getMinRequirementAction_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1243:1: ()
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1245:1: 
            {
            }

             after(grammarAccess.getMinRequirementAccess().getMinRequirementAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__Group__0__Impl"


    // $ANTLR start "rule__MinRequirement__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1255:1: rule__MinRequirement__Group__1 : rule__MinRequirement__Group__1__Impl rule__MinRequirement__Group__2 ;
    public final void rule__MinRequirement__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1259:1: ( rule__MinRequirement__Group__1__Impl rule__MinRequirement__Group__2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1260:2: rule__MinRequirement__Group__1__Impl rule__MinRequirement__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__Group__1__Impl_in_rule__MinRequirement__Group__12488);
            rule__MinRequirement__Group__1__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__Group__2_in_rule__MinRequirement__Group__12491);
            rule__MinRequirement__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__Group__1"


    // $ANTLR start "rule__MinRequirement__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1267:1: rule__MinRequirement__Group__1__Impl : ( 'min' ) ;
    public final void rule__MinRequirement__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1271:1: ( ( 'min' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1272:1: ( 'min' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1272:1: ( 'min' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1273:1: 'min'
            {
             before(grammarAccess.getMinRequirementAccess().getMinKeyword_1()); 
            match(input,20,FollowSets000.FOLLOW_20_in_rule__MinRequirement__Group__1__Impl2519); 
             after(grammarAccess.getMinRequirementAccess().getMinKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__Group__1__Impl"


    // $ANTLR start "rule__MinRequirement__Group__2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1286:1: rule__MinRequirement__Group__2 : rule__MinRequirement__Group__2__Impl rule__MinRequirement__Group__3 ;
    public final void rule__MinRequirement__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1290:1: ( rule__MinRequirement__Group__2__Impl rule__MinRequirement__Group__3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1291:2: rule__MinRequirement__Group__2__Impl rule__MinRequirement__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__Group__2__Impl_in_rule__MinRequirement__Group__22550);
            rule__MinRequirement__Group__2__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__Group__3_in_rule__MinRequirement__Group__22553);
            rule__MinRequirement__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__Group__2"


    // $ANTLR start "rule__MinRequirement__Group__2__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1298:1: rule__MinRequirement__Group__2__Impl : ( ( rule__MinRequirement__ValueAssignment_2 ) ) ;
    public final void rule__MinRequirement__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1302:1: ( ( ( rule__MinRequirement__ValueAssignment_2 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1303:1: ( ( rule__MinRequirement__ValueAssignment_2 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1303:1: ( ( rule__MinRequirement__ValueAssignment_2 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1304:1: ( rule__MinRequirement__ValueAssignment_2 )
            {
             before(grammarAccess.getMinRequirementAccess().getValueAssignment_2()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1305:1: ( rule__MinRequirement__ValueAssignment_2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1305:2: rule__MinRequirement__ValueAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__ValueAssignment_2_in_rule__MinRequirement__Group__2__Impl2580);
            rule__MinRequirement__ValueAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getMinRequirementAccess().getValueAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__Group__2__Impl"


    // $ANTLR start "rule__MinRequirement__Group__3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1315:1: rule__MinRequirement__Group__3 : rule__MinRequirement__Group__3__Impl ;
    public final void rule__MinRequirement__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1319:1: ( rule__MinRequirement__Group__3__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1320:2: rule__MinRequirement__Group__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__Group__3__Impl_in_rule__MinRequirement__Group__32610);
            rule__MinRequirement__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__Group__3"


    // $ANTLR start "rule__MinRequirement__Group__3__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1326:1: rule__MinRequirement__Group__3__Impl : ( ( rule__MinRequirement__TypeAssignment_3 ) ) ;
    public final void rule__MinRequirement__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1330:1: ( ( ( rule__MinRequirement__TypeAssignment_3 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1331:1: ( ( rule__MinRequirement__TypeAssignment_3 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1331:1: ( ( rule__MinRequirement__TypeAssignment_3 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1332:1: ( rule__MinRequirement__TypeAssignment_3 )
            {
             before(grammarAccess.getMinRequirementAccess().getTypeAssignment_3()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1333:1: ( rule__MinRequirement__TypeAssignment_3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1333:2: rule__MinRequirement__TypeAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__MinRequirement__TypeAssignment_3_in_rule__MinRequirement__Group__3__Impl2637);
            rule__MinRequirement__TypeAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getMinRequirementAccess().getTypeAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__Group__3__Impl"


    // $ANTLR start "rule__ConcreteTask__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1351:1: rule__ConcreteTask__Group__0 : rule__ConcreteTask__Group__0__Impl rule__ConcreteTask__Group__1 ;
    public final void rule__ConcreteTask__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1355:1: ( rule__ConcreteTask__Group__0__Impl rule__ConcreteTask__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1356:2: rule__ConcreteTask__Group__0__Impl rule__ConcreteTask__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__0__Impl_in_rule__ConcreteTask__Group__02675);
            rule__ConcreteTask__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__1_in_rule__ConcreteTask__Group__02678);
            rule__ConcreteTask__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__0"


    // $ANTLR start "rule__ConcreteTask__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1363:1: rule__ConcreteTask__Group__0__Impl : ( () ) ;
    public final void rule__ConcreteTask__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1367:1: ( ( () ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1368:1: ( () )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1368:1: ( () )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1369:1: ()
            {
             before(grammarAccess.getConcreteTaskAccess().getConcreteTaskAction_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1370:1: ()
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1372:1: 
            {
            }

             after(grammarAccess.getConcreteTaskAccess().getConcreteTaskAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__0__Impl"


    // $ANTLR start "rule__ConcreteTask__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1382:1: rule__ConcreteTask__Group__1 : rule__ConcreteTask__Group__1__Impl rule__ConcreteTask__Group__2 ;
    public final void rule__ConcreteTask__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1386:1: ( rule__ConcreteTask__Group__1__Impl rule__ConcreteTask__Group__2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1387:2: rule__ConcreteTask__Group__1__Impl rule__ConcreteTask__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__1__Impl_in_rule__ConcreteTask__Group__12736);
            rule__ConcreteTask__Group__1__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__2_in_rule__ConcreteTask__Group__12739);
            rule__ConcreteTask__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__1"


    // $ANTLR start "rule__ConcreteTask__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1394:1: rule__ConcreteTask__Group__1__Impl : ( ( rule__ConcreteTask__NameAssignment_1 ) ) ;
    public final void rule__ConcreteTask__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1398:1: ( ( ( rule__ConcreteTask__NameAssignment_1 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1399:1: ( ( rule__ConcreteTask__NameAssignment_1 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1399:1: ( ( rule__ConcreteTask__NameAssignment_1 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1400:1: ( rule__ConcreteTask__NameAssignment_1 )
            {
             before(grammarAccess.getConcreteTaskAccess().getNameAssignment_1()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1401:1: ( rule__ConcreteTask__NameAssignment_1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1401:2: rule__ConcreteTask__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__NameAssignment_1_in_rule__ConcreteTask__Group__1__Impl2766);
            rule__ConcreteTask__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getConcreteTaskAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__1__Impl"


    // $ANTLR start "rule__ConcreteTask__Group__2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1411:1: rule__ConcreteTask__Group__2 : rule__ConcreteTask__Group__2__Impl rule__ConcreteTask__Group__3 ;
    public final void rule__ConcreteTask__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1415:1: ( rule__ConcreteTask__Group__2__Impl rule__ConcreteTask__Group__3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1416:2: rule__ConcreteTask__Group__2__Impl rule__ConcreteTask__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__2__Impl_in_rule__ConcreteTask__Group__22796);
            rule__ConcreteTask__Group__2__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__3_in_rule__ConcreteTask__Group__22799);
            rule__ConcreteTask__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__2"


    // $ANTLR start "rule__ConcreteTask__Group__2__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1423:1: rule__ConcreteTask__Group__2__Impl : ( '(' ) ;
    public final void rule__ConcreteTask__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1427:1: ( ( '(' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1428:1: ( '(' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1428:1: ( '(' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1429:1: '('
            {
             before(grammarAccess.getConcreteTaskAccess().getLeftParenthesisKeyword_2()); 
            match(input,18,FollowSets000.FOLLOW_18_in_rule__ConcreteTask__Group__2__Impl2827); 
             after(grammarAccess.getConcreteTaskAccess().getLeftParenthesisKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__2__Impl"


    // $ANTLR start "rule__ConcreteTask__Group__3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1442:1: rule__ConcreteTask__Group__3 : rule__ConcreteTask__Group__3__Impl rule__ConcreteTask__Group__4 ;
    public final void rule__ConcreteTask__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1446:1: ( rule__ConcreteTask__Group__3__Impl rule__ConcreteTask__Group__4 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1447:2: rule__ConcreteTask__Group__3__Impl rule__ConcreteTask__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__3__Impl_in_rule__ConcreteTask__Group__32858);
            rule__ConcreteTask__Group__3__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__4_in_rule__ConcreteTask__Group__32861);
            rule__ConcreteTask__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__3"


    // $ANTLR start "rule__ConcreteTask__Group__3__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1454:1: rule__ConcreteTask__Group__3__Impl : ( ( rule__ConcreteTask__MaxPointsAssignment_3 ) ) ;
    public final void rule__ConcreteTask__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1458:1: ( ( ( rule__ConcreteTask__MaxPointsAssignment_3 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1459:1: ( ( rule__ConcreteTask__MaxPointsAssignment_3 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1459:1: ( ( rule__ConcreteTask__MaxPointsAssignment_3 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1460:1: ( rule__ConcreteTask__MaxPointsAssignment_3 )
            {
             before(grammarAccess.getConcreteTaskAccess().getMaxPointsAssignment_3()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1461:1: ( rule__ConcreteTask__MaxPointsAssignment_3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1461:2: rule__ConcreteTask__MaxPointsAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__MaxPointsAssignment_3_in_rule__ConcreteTask__Group__3__Impl2888);
            rule__ConcreteTask__MaxPointsAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getConcreteTaskAccess().getMaxPointsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__3__Impl"


    // $ANTLR start "rule__ConcreteTask__Group__4"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1471:1: rule__ConcreteTask__Group__4 : rule__ConcreteTask__Group__4__Impl rule__ConcreteTask__Group__5 ;
    public final void rule__ConcreteTask__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1475:1: ( rule__ConcreteTask__Group__4__Impl rule__ConcreteTask__Group__5 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1476:2: rule__ConcreteTask__Group__4__Impl rule__ConcreteTask__Group__5
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__4__Impl_in_rule__ConcreteTask__Group__42918);
            rule__ConcreteTask__Group__4__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__5_in_rule__ConcreteTask__Group__42921);
            rule__ConcreteTask__Group__5();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__4"


    // $ANTLR start "rule__ConcreteTask__Group__4__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1483:1: rule__ConcreteTask__Group__4__Impl : ( ')' ) ;
    public final void rule__ConcreteTask__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1487:1: ( ( ')' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1488:1: ( ')' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1488:1: ( ')' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1489:1: ')'
            {
             before(grammarAccess.getConcreteTaskAccess().getRightParenthesisKeyword_4()); 
            match(input,19,FollowSets000.FOLLOW_19_in_rule__ConcreteTask__Group__4__Impl2949); 
             after(grammarAccess.getConcreteTaskAccess().getRightParenthesisKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__4__Impl"


    // $ANTLR start "rule__ConcreteTask__Group__5"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1502:1: rule__ConcreteTask__Group__5 : rule__ConcreteTask__Group__5__Impl rule__ConcreteTask__Group__6 ;
    public final void rule__ConcreteTask__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1506:1: ( rule__ConcreteTask__Group__5__Impl rule__ConcreteTask__Group__6 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1507:2: rule__ConcreteTask__Group__5__Impl rule__ConcreteTask__Group__6
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__5__Impl_in_rule__ConcreteTask__Group__52980);
            rule__ConcreteTask__Group__5__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__6_in_rule__ConcreteTask__Group__52983);
            rule__ConcreteTask__Group__6();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__5"


    // $ANTLR start "rule__ConcreteTask__Group__5__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1514:1: rule__ConcreteTask__Group__5__Impl : ( ( rule__ConcreteTask__Group_5__0 )? ) ;
    public final void rule__ConcreteTask__Group__5__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1518:1: ( ( ( rule__ConcreteTask__Group_5__0 )? ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1519:1: ( ( rule__ConcreteTask__Group_5__0 )? )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1519:1: ( ( rule__ConcreteTask__Group_5__0 )? )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1520:1: ( rule__ConcreteTask__Group_5__0 )?
            {
             before(grammarAccess.getConcreteTaskAccess().getGroup_5()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1521:1: ( rule__ConcreteTask__Group_5__0 )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==22) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1521:2: rule__ConcreteTask__Group_5__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group_5__0_in_rule__ConcreteTask__Group__5__Impl3010);
                    rule__ConcreteTask__Group_5__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getConcreteTaskAccess().getGroup_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__5__Impl"


    // $ANTLR start "rule__ConcreteTask__Group__6"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1531:1: rule__ConcreteTask__Group__6 : rule__ConcreteTask__Group__6__Impl ;
    public final void rule__ConcreteTask__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1535:1: ( rule__ConcreteTask__Group__6__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1536:2: rule__ConcreteTask__Group__6__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group__6__Impl_in_rule__ConcreteTask__Group__63041);
            rule__ConcreteTask__Group__6__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__6"


    // $ANTLR start "rule__ConcreteTask__Group__6__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1542:1: rule__ConcreteTask__Group__6__Impl : ( ';' ) ;
    public final void rule__ConcreteTask__Group__6__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1546:1: ( ( ';' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1547:1: ( ';' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1547:1: ( ';' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1548:1: ';'
            {
             before(grammarAccess.getConcreteTaskAccess().getSemicolonKeyword_6()); 
            match(input,21,FollowSets000.FOLLOW_21_in_rule__ConcreteTask__Group__6__Impl3069); 
             after(grammarAccess.getConcreteTaskAccess().getSemicolonKeyword_6()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group__6__Impl"


    // $ANTLR start "rule__ConcreteTask__Group_5__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1575:1: rule__ConcreteTask__Group_5__0 : rule__ConcreteTask__Group_5__0__Impl rule__ConcreteTask__Group_5__1 ;
    public final void rule__ConcreteTask__Group_5__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1579:1: ( rule__ConcreteTask__Group_5__0__Impl rule__ConcreteTask__Group_5__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1580:2: rule__ConcreteTask__Group_5__0__Impl rule__ConcreteTask__Group_5__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group_5__0__Impl_in_rule__ConcreteTask__Group_5__03114);
            rule__ConcreteTask__Group_5__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group_5__1_in_rule__ConcreteTask__Group_5__03117);
            rule__ConcreteTask__Group_5__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group_5__0"


    // $ANTLR start "rule__ConcreteTask__Group_5__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1587:1: rule__ConcreteTask__Group_5__0__Impl : ( ':' ) ;
    public final void rule__ConcreteTask__Group_5__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1591:1: ( ( ':' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1592:1: ( ':' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1592:1: ( ':' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1593:1: ':'
            {
             before(grammarAccess.getConcreteTaskAccess().getColonKeyword_5_0()); 
            match(input,22,FollowSets000.FOLLOW_22_in_rule__ConcreteTask__Group_5__0__Impl3145); 
             after(grammarAccess.getConcreteTaskAccess().getColonKeyword_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group_5__0__Impl"


    // $ANTLR start "rule__ConcreteTask__Group_5__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1606:1: rule__ConcreteTask__Group_5__1 : rule__ConcreteTask__Group_5__1__Impl ;
    public final void rule__ConcreteTask__Group_5__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1610:1: ( rule__ConcreteTask__Group_5__1__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1611:2: rule__ConcreteTask__Group_5__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__Group_5__1__Impl_in_rule__ConcreteTask__Group_5__13176);
            rule__ConcreteTask__Group_5__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group_5__1"


    // $ANTLR start "rule__ConcreteTask__Group_5__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1617:1: rule__ConcreteTask__Group_5__1__Impl : ( ( rule__ConcreteTask__MinRequirementAssignment_5_1 ) ) ;
    public final void rule__ConcreteTask__Group_5__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1621:1: ( ( ( rule__ConcreteTask__MinRequirementAssignment_5_1 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1622:1: ( ( rule__ConcreteTask__MinRequirementAssignment_5_1 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1622:1: ( ( rule__ConcreteTask__MinRequirementAssignment_5_1 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1623:1: ( rule__ConcreteTask__MinRequirementAssignment_5_1 )
            {
             before(grammarAccess.getConcreteTaskAccess().getMinRequirementAssignment_5_1()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1624:1: ( rule__ConcreteTask__MinRequirementAssignment_5_1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1624:2: rule__ConcreteTask__MinRequirementAssignment_5_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__ConcreteTask__MinRequirementAssignment_5_1_in_rule__ConcreteTask__Group_5__1__Impl3203);
            rule__ConcreteTask__MinRequirementAssignment_5_1();

            state._fsp--;


            }

             after(grammarAccess.getConcreteTaskAccess().getMinRequirementAssignment_5_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__Group_5__1__Impl"


    // $ANTLR start "rule__TaskGroup__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1638:1: rule__TaskGroup__Group__0 : rule__TaskGroup__Group__0__Impl rule__TaskGroup__Group__1 ;
    public final void rule__TaskGroup__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1642:1: ( rule__TaskGroup__Group__0__Impl rule__TaskGroup__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1643:2: rule__TaskGroup__Group__0__Impl rule__TaskGroup__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__0__Impl_in_rule__TaskGroup__Group__03237);
            rule__TaskGroup__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__1_in_rule__TaskGroup__Group__03240);
            rule__TaskGroup__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__0"


    // $ANTLR start "rule__TaskGroup__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1650:1: rule__TaskGroup__Group__0__Impl : ( ( rule__TaskGroup__NameAssignment_0 ) ) ;
    public final void rule__TaskGroup__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1654:1: ( ( ( rule__TaskGroup__NameAssignment_0 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1655:1: ( ( rule__TaskGroup__NameAssignment_0 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1655:1: ( ( rule__TaskGroup__NameAssignment_0 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1656:1: ( rule__TaskGroup__NameAssignment_0 )
            {
             before(grammarAccess.getTaskGroupAccess().getNameAssignment_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1657:1: ( rule__TaskGroup__NameAssignment_0 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1657:2: rule__TaskGroup__NameAssignment_0
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__NameAssignment_0_in_rule__TaskGroup__Group__0__Impl3267);
            rule__TaskGroup__NameAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getTaskGroupAccess().getNameAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__0__Impl"


    // $ANTLR start "rule__TaskGroup__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1667:1: rule__TaskGroup__Group__1 : rule__TaskGroup__Group__1__Impl rule__TaskGroup__Group__2 ;
    public final void rule__TaskGroup__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1671:1: ( rule__TaskGroup__Group__1__Impl rule__TaskGroup__Group__2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1672:2: rule__TaskGroup__Group__1__Impl rule__TaskGroup__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__1__Impl_in_rule__TaskGroup__Group__13297);
            rule__TaskGroup__Group__1__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__2_in_rule__TaskGroup__Group__13300);
            rule__TaskGroup__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__1"


    // $ANTLR start "rule__TaskGroup__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1679:1: rule__TaskGroup__Group__1__Impl : ( '{' ) ;
    public final void rule__TaskGroup__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1683:1: ( ( '{' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1684:1: ( '{' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1684:1: ( '{' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1685:1: '{'
            {
             before(grammarAccess.getTaskGroupAccess().getLeftCurlyBracketKeyword_1()); 
            match(input,14,FollowSets000.FOLLOW_14_in_rule__TaskGroup__Group__1__Impl3328); 
             after(grammarAccess.getTaskGroupAccess().getLeftCurlyBracketKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__1__Impl"


    // $ANTLR start "rule__TaskGroup__Group__2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1698:1: rule__TaskGroup__Group__2 : rule__TaskGroup__Group__2__Impl rule__TaskGroup__Group__3 ;
    public final void rule__TaskGroup__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1702:1: ( rule__TaskGroup__Group__2__Impl rule__TaskGroup__Group__3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1703:2: rule__TaskGroup__Group__2__Impl rule__TaskGroup__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__2__Impl_in_rule__TaskGroup__Group__23359);
            rule__TaskGroup__Group__2__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__3_in_rule__TaskGroup__Group__23362);
            rule__TaskGroup__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__2"


    // $ANTLR start "rule__TaskGroup__Group__2__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1710:1: rule__TaskGroup__Group__2__Impl : ( ( ( rule__TaskGroup__ContainsAssignment_2 ) ) ( ( rule__TaskGroup__ContainsAssignment_2 )* ) ) ;
    public final void rule__TaskGroup__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1714:1: ( ( ( ( rule__TaskGroup__ContainsAssignment_2 ) ) ( ( rule__TaskGroup__ContainsAssignment_2 )* ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1715:1: ( ( ( rule__TaskGroup__ContainsAssignment_2 ) ) ( ( rule__TaskGroup__ContainsAssignment_2 )* ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1715:1: ( ( ( rule__TaskGroup__ContainsAssignment_2 ) ) ( ( rule__TaskGroup__ContainsAssignment_2 )* ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1716:1: ( ( rule__TaskGroup__ContainsAssignment_2 ) ) ( ( rule__TaskGroup__ContainsAssignment_2 )* )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1716:1: ( ( rule__TaskGroup__ContainsAssignment_2 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1717:1: ( rule__TaskGroup__ContainsAssignment_2 )
            {
             before(grammarAccess.getTaskGroupAccess().getContainsAssignment_2()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1718:1: ( rule__TaskGroup__ContainsAssignment_2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1718:2: rule__TaskGroup__ContainsAssignment_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__ContainsAssignment_2_in_rule__TaskGroup__Group__2__Impl3391);
            rule__TaskGroup__ContainsAssignment_2();

            state._fsp--;


            }

             after(grammarAccess.getTaskGroupAccess().getContainsAssignment_2()); 

            }

            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1721:1: ( ( rule__TaskGroup__ContainsAssignment_2 )* )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1722:1: ( rule__TaskGroup__ContainsAssignment_2 )*
            {
             before(grammarAccess.getTaskGroupAccess().getContainsAssignment_2()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1723:1: ( rule__TaskGroup__ContainsAssignment_2 )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( ((LA9_0>=RULE_STRING && LA9_0<=RULE_ID)) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1723:2: rule__TaskGroup__ContainsAssignment_2
            	    {
            	    pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__ContainsAssignment_2_in_rule__TaskGroup__Group__2__Impl3403);
            	    rule__TaskGroup__ContainsAssignment_2();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);

             after(grammarAccess.getTaskGroupAccess().getContainsAssignment_2()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__2__Impl"


    // $ANTLR start "rule__TaskGroup__Group__3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1734:1: rule__TaskGroup__Group__3 : rule__TaskGroup__Group__3__Impl rule__TaskGroup__Group__4 ;
    public final void rule__TaskGroup__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1738:1: ( rule__TaskGroup__Group__3__Impl rule__TaskGroup__Group__4 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1739:2: rule__TaskGroup__Group__3__Impl rule__TaskGroup__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__3__Impl_in_rule__TaskGroup__Group__33436);
            rule__TaskGroup__Group__3__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__4_in_rule__TaskGroup__Group__33439);
            rule__TaskGroup__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__3"


    // $ANTLR start "rule__TaskGroup__Group__3__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1746:1: rule__TaskGroup__Group__3__Impl : ( ( rule__TaskGroup__Group_3__0 )? ) ;
    public final void rule__TaskGroup__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1750:1: ( ( ( rule__TaskGroup__Group_3__0 )? ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1751:1: ( ( rule__TaskGroup__Group_3__0 )? )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1751:1: ( ( rule__TaskGroup__Group_3__0 )? )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1752:1: ( rule__TaskGroup__Group_3__0 )?
            {
             before(grammarAccess.getTaskGroupAccess().getGroup_3()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1753:1: ( rule__TaskGroup__Group_3__0 )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==23) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1753:2: rule__TaskGroup__Group_3__0
                    {
                    pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group_3__0_in_rule__TaskGroup__Group__3__Impl3466);
                    rule__TaskGroup__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getTaskGroupAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__3__Impl"


    // $ANTLR start "rule__TaskGroup__Group__4"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1763:1: rule__TaskGroup__Group__4 : rule__TaskGroup__Group__4__Impl ;
    public final void rule__TaskGroup__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1767:1: ( rule__TaskGroup__Group__4__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1768:2: rule__TaskGroup__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group__4__Impl_in_rule__TaskGroup__Group__43497);
            rule__TaskGroup__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__4"


    // $ANTLR start "rule__TaskGroup__Group__4__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1774:1: rule__TaskGroup__Group__4__Impl : ( '}' ) ;
    public final void rule__TaskGroup__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1778:1: ( ( '}' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1779:1: ( '}' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1779:1: ( '}' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1780:1: '}'
            {
             before(grammarAccess.getTaskGroupAccess().getRightCurlyBracketKeyword_4()); 
            match(input,15,FollowSets000.FOLLOW_15_in_rule__TaskGroup__Group__4__Impl3525); 
             after(grammarAccess.getTaskGroupAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group__4__Impl"


    // $ANTLR start "rule__TaskGroup__Group_3__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1803:1: rule__TaskGroup__Group_3__0 : rule__TaskGroup__Group_3__0__Impl rule__TaskGroup__Group_3__1 ;
    public final void rule__TaskGroup__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1807:1: ( rule__TaskGroup__Group_3__0__Impl rule__TaskGroup__Group_3__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1808:2: rule__TaskGroup__Group_3__0__Impl rule__TaskGroup__Group_3__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group_3__0__Impl_in_rule__TaskGroup__Group_3__03566);
            rule__TaskGroup__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group_3__1_in_rule__TaskGroup__Group_3__03569);
            rule__TaskGroup__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group_3__0"


    // $ANTLR start "rule__TaskGroup__Group_3__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1815:1: rule__TaskGroup__Group_3__0__Impl : ( '@all' ) ;
    public final void rule__TaskGroup__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1819:1: ( ( '@all' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1820:1: ( '@all' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1820:1: ( '@all' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1821:1: '@all'
            {
             before(grammarAccess.getTaskGroupAccess().getAllKeyword_3_0()); 
            match(input,23,FollowSets000.FOLLOW_23_in_rule__TaskGroup__Group_3__0__Impl3597); 
             after(grammarAccess.getTaskGroupAccess().getAllKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group_3__0__Impl"


    // $ANTLR start "rule__TaskGroup__Group_3__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1834:1: rule__TaskGroup__Group_3__1 : rule__TaskGroup__Group_3__1__Impl rule__TaskGroup__Group_3__2 ;
    public final void rule__TaskGroup__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1838:1: ( rule__TaskGroup__Group_3__1__Impl rule__TaskGroup__Group_3__2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1839:2: rule__TaskGroup__Group_3__1__Impl rule__TaskGroup__Group_3__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group_3__1__Impl_in_rule__TaskGroup__Group_3__13628);
            rule__TaskGroup__Group_3__1__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group_3__2_in_rule__TaskGroup__Group_3__13631);
            rule__TaskGroup__Group_3__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group_3__1"


    // $ANTLR start "rule__TaskGroup__Group_3__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1846:1: rule__TaskGroup__Group_3__1__Impl : ( ':' ) ;
    public final void rule__TaskGroup__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1850:1: ( ( ':' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1851:1: ( ':' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1851:1: ( ':' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1852:1: ':'
            {
             before(grammarAccess.getTaskGroupAccess().getColonKeyword_3_1()); 
            match(input,22,FollowSets000.FOLLOW_22_in_rule__TaskGroup__Group_3__1__Impl3659); 
             after(grammarAccess.getTaskGroupAccess().getColonKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group_3__1__Impl"


    // $ANTLR start "rule__TaskGroup__Group_3__2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1865:1: rule__TaskGroup__Group_3__2 : rule__TaskGroup__Group_3__2__Impl rule__TaskGroup__Group_3__3 ;
    public final void rule__TaskGroup__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1869:1: ( rule__TaskGroup__Group_3__2__Impl rule__TaskGroup__Group_3__3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1870:2: rule__TaskGroup__Group_3__2__Impl rule__TaskGroup__Group_3__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group_3__2__Impl_in_rule__TaskGroup__Group_3__23690);
            rule__TaskGroup__Group_3__2__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group_3__3_in_rule__TaskGroup__Group_3__23693);
            rule__TaskGroup__Group_3__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group_3__2"


    // $ANTLR start "rule__TaskGroup__Group_3__2__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1877:1: rule__TaskGroup__Group_3__2__Impl : ( ( rule__TaskGroup__MinRequirementAssignment_3_2 ) ) ;
    public final void rule__TaskGroup__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1881:1: ( ( ( rule__TaskGroup__MinRequirementAssignment_3_2 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1882:1: ( ( rule__TaskGroup__MinRequirementAssignment_3_2 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1882:1: ( ( rule__TaskGroup__MinRequirementAssignment_3_2 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1883:1: ( rule__TaskGroup__MinRequirementAssignment_3_2 )
            {
             before(grammarAccess.getTaskGroupAccess().getMinRequirementAssignment_3_2()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1884:1: ( rule__TaskGroup__MinRequirementAssignment_3_2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1884:2: rule__TaskGroup__MinRequirementAssignment_3_2
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__MinRequirementAssignment_3_2_in_rule__TaskGroup__Group_3__2__Impl3720);
            rule__TaskGroup__MinRequirementAssignment_3_2();

            state._fsp--;


            }

             after(grammarAccess.getTaskGroupAccess().getMinRequirementAssignment_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group_3__2__Impl"


    // $ANTLR start "rule__TaskGroup__Group_3__3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1894:1: rule__TaskGroup__Group_3__3 : rule__TaskGroup__Group_3__3__Impl ;
    public final void rule__TaskGroup__Group_3__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1898:1: ( rule__TaskGroup__Group_3__3__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1899:2: rule__TaskGroup__Group_3__3__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__TaskGroup__Group_3__3__Impl_in_rule__TaskGroup__Group_3__33750);
            rule__TaskGroup__Group_3__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group_3__3"


    // $ANTLR start "rule__TaskGroup__Group_3__3__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1905:1: rule__TaskGroup__Group_3__3__Impl : ( ';' ) ;
    public final void rule__TaskGroup__Group_3__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1909:1: ( ( ';' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1910:1: ( ';' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1910:1: ( ';' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1911:1: ';'
            {
             before(grammarAccess.getTaskGroupAccess().getSemicolonKeyword_3_3()); 
            match(input,21,FollowSets000.FOLLOW_21_in_rule__TaskGroup__Group_3__3__Impl3778); 
             after(grammarAccess.getTaskGroupAccess().getSemicolonKeyword_3_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__Group_3__3__Impl"


    // $ANTLR start "rule__EInt__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1932:1: rule__EInt__Group__0 : rule__EInt__Group__0__Impl rule__EInt__Group__1 ;
    public final void rule__EInt__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1936:1: ( rule__EInt__Group__0__Impl rule__EInt__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1937:2: rule__EInt__Group__0__Impl rule__EInt__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__EInt__Group__0__Impl_in_rule__EInt__Group__03817);
            rule__EInt__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__EInt__Group__1_in_rule__EInt__Group__03820);
            rule__EInt__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EInt__Group__0"


    // $ANTLR start "rule__EInt__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1944:1: rule__EInt__Group__0__Impl : ( ( '-' )? ) ;
    public final void rule__EInt__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1948:1: ( ( ( '-' )? ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1949:1: ( ( '-' )? )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1949:1: ( ( '-' )? )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1950:1: ( '-' )?
            {
             before(grammarAccess.getEIntAccess().getHyphenMinusKeyword_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1951:1: ( '-' )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==24) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1952:2: '-'
                    {
                    match(input,24,FollowSets000.FOLLOW_24_in_rule__EInt__Group__0__Impl3849); 

                    }
                    break;

            }

             after(grammarAccess.getEIntAccess().getHyphenMinusKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EInt__Group__0__Impl"


    // $ANTLR start "rule__EInt__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1963:1: rule__EInt__Group__1 : rule__EInt__Group__1__Impl ;
    public final void rule__EInt__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1967:1: ( rule__EInt__Group__1__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1968:2: rule__EInt__Group__1__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__EInt__Group__1__Impl_in_rule__EInt__Group__13882);
            rule__EInt__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EInt__Group__1"


    // $ANTLR start "rule__EInt__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1974:1: rule__EInt__Group__1__Impl : ( RULE_INT ) ;
    public final void rule__EInt__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1978:1: ( ( RULE_INT ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1979:1: ( RULE_INT )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1979:1: ( RULE_INT )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1980:1: RULE_INT
            {
             before(grammarAccess.getEIntAccess().getINTTerminalRuleCall_1()); 
            match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_rule__EInt__Group__1__Impl3909); 
             after(grammarAccess.getEIntAccess().getINTTerminalRuleCall_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__EInt__Group__1__Impl"


    // $ANTLR start "rule__Grade__Group__0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1995:1: rule__Grade__Group__0 : rule__Grade__Group__0__Impl rule__Grade__Group__1 ;
    public final void rule__Grade__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:1999:1: ( rule__Grade__Group__0__Impl rule__Grade__Group__1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2000:2: rule__Grade__Group__0__Impl rule__Grade__Group__1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__0__Impl_in_rule__Grade__Group__03942);
            rule__Grade__Group__0__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__1_in_rule__Grade__Group__03945);
            rule__Grade__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__0"


    // $ANTLR start "rule__Grade__Group__0__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2007:1: rule__Grade__Group__0__Impl : ( () ) ;
    public final void rule__Grade__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2011:1: ( ( () ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2012:1: ( () )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2012:1: ( () )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2013:1: ()
            {
             before(grammarAccess.getGradeAccess().getGradeAction_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2014:1: ()
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2016:1: 
            {
            }

             after(grammarAccess.getGradeAccess().getGradeAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__0__Impl"


    // $ANTLR start "rule__Grade__Group__1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2026:1: rule__Grade__Group__1 : rule__Grade__Group__1__Impl rule__Grade__Group__2 ;
    public final void rule__Grade__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2030:1: ( rule__Grade__Group__1__Impl rule__Grade__Group__2 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2031:2: rule__Grade__Group__1__Impl rule__Grade__Group__2
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__1__Impl_in_rule__Grade__Group__14003);
            rule__Grade__Group__1__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__2_in_rule__Grade__Group__14006);
            rule__Grade__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__1"


    // $ANTLR start "rule__Grade__Group__1__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2038:1: rule__Grade__Group__1__Impl : ( ( rule__Grade__NameAssignment_1 ) ) ;
    public final void rule__Grade__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2042:1: ( ( ( rule__Grade__NameAssignment_1 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2043:1: ( ( rule__Grade__NameAssignment_1 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2043:1: ( ( rule__Grade__NameAssignment_1 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2044:1: ( rule__Grade__NameAssignment_1 )
            {
             before(grammarAccess.getGradeAccess().getNameAssignment_1()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2045:1: ( rule__Grade__NameAssignment_1 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2045:2: rule__Grade__NameAssignment_1
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grade__NameAssignment_1_in_rule__Grade__Group__1__Impl4033);
            rule__Grade__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getGradeAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__1__Impl"


    // $ANTLR start "rule__Grade__Group__2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2055:1: rule__Grade__Group__2 : rule__Grade__Group__2__Impl rule__Grade__Group__3 ;
    public final void rule__Grade__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2059:1: ( rule__Grade__Group__2__Impl rule__Grade__Group__3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2060:2: rule__Grade__Group__2__Impl rule__Grade__Group__3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__2__Impl_in_rule__Grade__Group__24063);
            rule__Grade__Group__2__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__3_in_rule__Grade__Group__24066);
            rule__Grade__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__2"


    // $ANTLR start "rule__Grade__Group__2__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2067:1: rule__Grade__Group__2__Impl : ( ':' ) ;
    public final void rule__Grade__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2071:1: ( ( ':' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2072:1: ( ':' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2072:1: ( ':' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2073:1: ':'
            {
             before(grammarAccess.getGradeAccess().getColonKeyword_2()); 
            match(input,22,FollowSets000.FOLLOW_22_in_rule__Grade__Group__2__Impl4094); 
             after(grammarAccess.getGradeAccess().getColonKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__2__Impl"


    // $ANTLR start "rule__Grade__Group__3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2086:1: rule__Grade__Group__3 : rule__Grade__Group__3__Impl rule__Grade__Group__4 ;
    public final void rule__Grade__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2090:1: ( rule__Grade__Group__3__Impl rule__Grade__Group__4 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2091:2: rule__Grade__Group__3__Impl rule__Grade__Group__4
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__3__Impl_in_rule__Grade__Group__34125);
            rule__Grade__Group__3__Impl();

            state._fsp--;

            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__4_in_rule__Grade__Group__34128);
            rule__Grade__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__3"


    // $ANTLR start "rule__Grade__Group__3__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2098:1: rule__Grade__Group__3__Impl : ( ( rule__Grade__RequiredPointsAssignment_3 ) ) ;
    public final void rule__Grade__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2102:1: ( ( ( rule__Grade__RequiredPointsAssignment_3 ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2103:1: ( ( rule__Grade__RequiredPointsAssignment_3 ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2103:1: ( ( rule__Grade__RequiredPointsAssignment_3 ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2104:1: ( rule__Grade__RequiredPointsAssignment_3 )
            {
             before(grammarAccess.getGradeAccess().getRequiredPointsAssignment_3()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2105:1: ( rule__Grade__RequiredPointsAssignment_3 )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2105:2: rule__Grade__RequiredPointsAssignment_3
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grade__RequiredPointsAssignment_3_in_rule__Grade__Group__3__Impl4155);
            rule__Grade__RequiredPointsAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getGradeAccess().getRequiredPointsAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__3__Impl"


    // $ANTLR start "rule__Grade__Group__4"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2115:1: rule__Grade__Group__4 : rule__Grade__Group__4__Impl ;
    public final void rule__Grade__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2119:1: ( rule__Grade__Group__4__Impl )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2120:2: rule__Grade__Group__4__Impl
            {
            pushFollow(FollowSets000.FOLLOW_rule__Grade__Group__4__Impl_in_rule__Grade__Group__44185);
            rule__Grade__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__4"


    // $ANTLR start "rule__Grade__Group__4__Impl"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2126:1: rule__Grade__Group__4__Impl : ( ';' ) ;
    public final void rule__Grade__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2130:1: ( ( ';' ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2131:1: ( ';' )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2131:1: ( ';' )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2132:1: ';'
            {
             before(grammarAccess.getGradeAccess().getSemicolonKeyword_4()); 
            match(input,21,FollowSets000.FOLLOW_21_in_rule__Grade__Group__4__Impl4213); 
             after(grammarAccess.getGradeAccess().getSemicolonKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__Group__4__Impl"


    // $ANTLR start "rule__GradingSystem__CoursesAssignment_1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2156:1: rule__GradingSystem__CoursesAssignment_1 : ( ruleCourse ) ;
    public final void rule__GradingSystem__CoursesAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2160:1: ( ( ruleCourse ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2161:1: ( ruleCourse )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2161:1: ( ruleCourse )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2162:1: ruleCourse
            {
             before(grammarAccess.getGradingSystemAccess().getCoursesCourseParserRuleCall_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleCourse_in_rule__GradingSystem__CoursesAssignment_14259);
            ruleCourse();

            state._fsp--;

             after(grammarAccess.getGradingSystemAccess().getCoursesCourseParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingSystem__CoursesAssignment_1"


    // $ANTLR start "rule__Course__NameAssignment_2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2171:1: rule__Course__NameAssignment_2 : ( ruleEString ) ;
    public final void rule__Course__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2175:1: ( ( ruleEString ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2176:1: ( ruleEString )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2176:1: ( ruleEString )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2177:1: ruleEString
            {
             before(grammarAccess.getCourseAccess().getNameEStringParserRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Course__NameAssignment_24290);
            ruleEString();

            state._fsp--;

             after(grammarAccess.getCourseAccess().getNameEStringParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__NameAssignment_2"


    // $ANTLR start "rule__Course__GradingsAssignment_4"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2186:1: rule__Course__GradingsAssignment_4 : ( ruleGrading ) ;
    public final void rule__Course__GradingsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2190:1: ( ( ruleGrading ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2191:1: ( ruleGrading )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2191:1: ( ruleGrading )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2192:1: ruleGrading
            {
             before(grammarAccess.getCourseAccess().getGradingsGradingParserRuleCall_4_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleGrading_in_rule__Course__GradingsAssignment_44321);
            ruleGrading();

            state._fsp--;

             after(grammarAccess.getCourseAccess().getGradingsGradingParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Course__GradingsAssignment_4"


    // $ANTLR start "rule__Grading__SemesterAssignment_2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2201:1: rule__Grading__SemesterAssignment_2 : ( ruleEString ) ;
    public final void rule__Grading__SemesterAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2205:1: ( ( ruleEString ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2206:1: ( ruleEString )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2206:1: ( ruleEString )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2207:1: ruleEString
            {
             before(grammarAccess.getGradingAccess().getSemesterEStringParserRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Grading__SemesterAssignment_24352);
            ruleEString();

            state._fsp--;

             after(grammarAccess.getGradingAccess().getSemesterEStringParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__SemesterAssignment_2"


    // $ANTLR start "rule__Grading__GradingSchemeAssignment_4"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2216:1: rule__Grading__GradingSchemeAssignment_4 : ( ruleGradingScheme ) ;
    public final void rule__Grading__GradingSchemeAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2220:1: ( ( ruleGradingScheme ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2221:1: ( ruleGradingScheme )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2221:1: ( ruleGradingScheme )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2222:1: ruleGradingScheme
            {
             before(grammarAccess.getGradingAccess().getGradingSchemeGradingSchemeParserRuleCall_4_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleGradingScheme_in_rule__Grading__GradingSchemeAssignment_44383);
            ruleGradingScheme();

            state._fsp--;

             after(grammarAccess.getGradingAccess().getGradingSchemeGradingSchemeParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__GradingSchemeAssignment_4"


    // $ANTLR start "rule__Grading__TasksAssignment_5"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2231:1: rule__Grading__TasksAssignment_5 : ( ruleTask ) ;
    public final void rule__Grading__TasksAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2235:1: ( ( ruleTask ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2236:1: ( ruleTask )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2236:1: ( ruleTask )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2237:1: ruleTask
            {
             before(grammarAccess.getGradingAccess().getTasksTaskParserRuleCall_5_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleTask_in_rule__Grading__TasksAssignment_54414);
            ruleTask();

            state._fsp--;

             after(grammarAccess.getGradingAccess().getTasksTaskParserRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grading__TasksAssignment_5"


    // $ANTLR start "rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2246:1: rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3 : ( ( ruleEString ) ) ;
    public final void rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2250:1: ( ( ( ruleEString ) ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2251:1: ( ( ruleEString ) )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2251:1: ( ( ruleEString ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2252:1: ( ruleEString )
            {
             before(grammarAccess.getGradingSchemeAccess().getMinRequirementNotFulfilledGradeGradeCrossReference_3_0()); 
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2253:1: ( ruleEString )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2254:1: ruleEString
            {
             before(grammarAccess.getGradingSchemeAccess().getMinRequirementNotFulfilledGradeGradeEStringParserRuleCall_3_0_1()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_34449);
            ruleEString();

            state._fsp--;

             after(grammarAccess.getGradingSchemeAccess().getMinRequirementNotFulfilledGradeGradeEStringParserRuleCall_3_0_1()); 

            }

             after(grammarAccess.getGradingSchemeAccess().getMinRequirementNotFulfilledGradeGradeCrossReference_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3"


    // $ANTLR start "rule__GradingScheme__GradesAssignment_6"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2265:1: rule__GradingScheme__GradesAssignment_6 : ( ruleGrade ) ;
    public final void rule__GradingScheme__GradesAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2269:1: ( ( ruleGrade ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2270:1: ( ruleGrade )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2270:1: ( ruleGrade )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2271:1: ruleGrade
            {
             before(grammarAccess.getGradingSchemeAccess().getGradesGradeParserRuleCall_6_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleGrade_in_rule__GradingScheme__GradesAssignment_64484);
            ruleGrade();

            state._fsp--;

             after(grammarAccess.getGradingSchemeAccess().getGradesGradeParserRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GradingScheme__GradesAssignment_6"


    // $ANTLR start "rule__MinRequirement__ValueAssignment_2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2280:1: rule__MinRequirement__ValueAssignment_2 : ( ruleEInt ) ;
    public final void rule__MinRequirement__ValueAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2284:1: ( ( ruleEInt ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2285:1: ( ruleEInt )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2285:1: ( ruleEInt )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2286:1: ruleEInt
            {
             before(grammarAccess.getMinRequirementAccess().getValueEIntParserRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEInt_in_rule__MinRequirement__ValueAssignment_24515);
            ruleEInt();

            state._fsp--;

             after(grammarAccess.getMinRequirementAccess().getValueEIntParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__ValueAssignment_2"


    // $ANTLR start "rule__MinRequirement__TypeAssignment_3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2295:1: rule__MinRequirement__TypeAssignment_3 : ( ruleMinRequirementsType ) ;
    public final void rule__MinRequirement__TypeAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2299:1: ( ( ruleMinRequirementsType ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2300:1: ( ruleMinRequirementsType )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2300:1: ( ruleMinRequirementsType )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2301:1: ruleMinRequirementsType
            {
             before(grammarAccess.getMinRequirementAccess().getTypeMinRequirementsTypeEnumRuleCall_3_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleMinRequirementsType_in_rule__MinRequirement__TypeAssignment_34546);
            ruleMinRequirementsType();

            state._fsp--;

             after(grammarAccess.getMinRequirementAccess().getTypeMinRequirementsTypeEnumRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__MinRequirement__TypeAssignment_3"


    // $ANTLR start "rule__ConcreteTask__NameAssignment_1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2310:1: rule__ConcreteTask__NameAssignment_1 : ( ruleEString ) ;
    public final void rule__ConcreteTask__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2314:1: ( ( ruleEString ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2315:1: ( ruleEString )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2315:1: ( ruleEString )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2316:1: ruleEString
            {
             before(grammarAccess.getConcreteTaskAccess().getNameEStringParserRuleCall_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__ConcreteTask__NameAssignment_14577);
            ruleEString();

            state._fsp--;

             after(grammarAccess.getConcreteTaskAccess().getNameEStringParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__NameAssignment_1"


    // $ANTLR start "rule__ConcreteTask__MaxPointsAssignment_3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2325:1: rule__ConcreteTask__MaxPointsAssignment_3 : ( ruleEInt ) ;
    public final void rule__ConcreteTask__MaxPointsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2329:1: ( ( ruleEInt ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2330:1: ( ruleEInt )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2330:1: ( ruleEInt )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2331:1: ruleEInt
            {
             before(grammarAccess.getConcreteTaskAccess().getMaxPointsEIntParserRuleCall_3_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEInt_in_rule__ConcreteTask__MaxPointsAssignment_34608);
            ruleEInt();

            state._fsp--;

             after(grammarAccess.getConcreteTaskAccess().getMaxPointsEIntParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__MaxPointsAssignment_3"


    // $ANTLR start "rule__ConcreteTask__MinRequirementAssignment_5_1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2340:1: rule__ConcreteTask__MinRequirementAssignment_5_1 : ( ruleMinRequirement ) ;
    public final void rule__ConcreteTask__MinRequirementAssignment_5_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2344:1: ( ( ruleMinRequirement ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2345:1: ( ruleMinRequirement )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2345:1: ( ruleMinRequirement )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2346:1: ruleMinRequirement
            {
             before(grammarAccess.getConcreteTaskAccess().getMinRequirementMinRequirementParserRuleCall_5_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleMinRequirement_in_rule__ConcreteTask__MinRequirementAssignment_5_14639);
            ruleMinRequirement();

            state._fsp--;

             after(grammarAccess.getConcreteTaskAccess().getMinRequirementMinRequirementParserRuleCall_5_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ConcreteTask__MinRequirementAssignment_5_1"


    // $ANTLR start "rule__TaskGroup__NameAssignment_0"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2355:1: rule__TaskGroup__NameAssignment_0 : ( ruleEString ) ;
    public final void rule__TaskGroup__NameAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2359:1: ( ( ruleEString ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2360:1: ( ruleEString )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2360:1: ( ruleEString )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2361:1: ruleEString
            {
             before(grammarAccess.getTaskGroupAccess().getNameEStringParserRuleCall_0_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__TaskGroup__NameAssignment_04670);
            ruleEString();

            state._fsp--;

             after(grammarAccess.getTaskGroupAccess().getNameEStringParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__NameAssignment_0"


    // $ANTLR start "rule__TaskGroup__ContainsAssignment_2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2370:1: rule__TaskGroup__ContainsAssignment_2 : ( ruleTask ) ;
    public final void rule__TaskGroup__ContainsAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2374:1: ( ( ruleTask ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2375:1: ( ruleTask )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2375:1: ( ruleTask )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2376:1: ruleTask
            {
             before(grammarAccess.getTaskGroupAccess().getContainsTaskParserRuleCall_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleTask_in_rule__TaskGroup__ContainsAssignment_24701);
            ruleTask();

            state._fsp--;

             after(grammarAccess.getTaskGroupAccess().getContainsTaskParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__ContainsAssignment_2"


    // $ANTLR start "rule__TaskGroup__MinRequirementAssignment_3_2"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2385:1: rule__TaskGroup__MinRequirementAssignment_3_2 : ( ruleMinRequirement ) ;
    public final void rule__TaskGroup__MinRequirementAssignment_3_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2389:1: ( ( ruleMinRequirement ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2390:1: ( ruleMinRequirement )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2390:1: ( ruleMinRequirement )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2391:1: ruleMinRequirement
            {
             before(grammarAccess.getTaskGroupAccess().getMinRequirementMinRequirementParserRuleCall_3_2_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleMinRequirement_in_rule__TaskGroup__MinRequirementAssignment_3_24732);
            ruleMinRequirement();

            state._fsp--;

             after(grammarAccess.getTaskGroupAccess().getMinRequirementMinRequirementParserRuleCall_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__TaskGroup__MinRequirementAssignment_3_2"


    // $ANTLR start "rule__Grade__NameAssignment_1"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2400:1: rule__Grade__NameAssignment_1 : ( ruleEString ) ;
    public final void rule__Grade__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2404:1: ( ( ruleEString ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2405:1: ( ruleEString )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2405:1: ( ruleEString )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2406:1: ruleEString
            {
             before(grammarAccess.getGradeAccess().getNameEStringParserRuleCall_1_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEString_in_rule__Grade__NameAssignment_14763);
            ruleEString();

            state._fsp--;

             after(grammarAccess.getGradeAccess().getNameEStringParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__NameAssignment_1"


    // $ANTLR start "rule__Grade__RequiredPointsAssignment_3"
    // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2415:1: rule__Grade__RequiredPointsAssignment_3 : ( ruleEInt ) ;
    public final void rule__Grade__RequiredPointsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2419:1: ( ( ruleEInt ) )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2420:1: ( ruleEInt )
            {
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2420:1: ( ruleEInt )
            // ../at.ac.tuwien.big.me12.GSMLDsl.ui/src-gen/at/ac/tuwien/big/me12/ui/contentassist/antlr/internal/InternalGSMLDsl.g:2421:1: ruleEInt
            {
             before(grammarAccess.getGradeAccess().getRequiredPointsEIntParserRuleCall_3_0()); 
            pushFollow(FollowSets000.FOLLOW_ruleEInt_in_rule__Grade__RequiredPointsAssignment_34794);
            ruleEInt();

            state._fsp--;

             after(grammarAccess.getGradeAccess().getRequiredPointsEIntParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Grade__RequiredPointsAssignment_3"

    // Delegated rules


 

    
    private static class FollowSets000 {
        public static final BitSet FOLLOW_ruleGradingSystem_in_entryRuleGradingSystem61 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleGradingSystem68 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingSystem__Group__0_in_ruleGradingSystem94 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTask_in_entryRuleTask121 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleTask128 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Task__Alternatives_in_ruleTask154 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleCourse_in_entryRuleCourse181 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleCourse188 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Course__Group__0_in_ruleCourse214 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_entryRuleEString241 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEString248 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EString__Alternatives_in_ruleEString274 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGrading_in_entryRuleGrading301 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleGrading308 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__Group__0_in_ruleGrading334 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGradingScheme_in_entryRuleGradingScheme361 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleGradingScheme368 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__0_in_ruleGradingScheme394 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMinRequirement_in_entryRuleMinRequirement421 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleMinRequirement428 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MinRequirement__Group__0_in_ruleMinRequirement454 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleConcreteTask_in_entryRuleConcreteTask481 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleConcreteTask488 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__0_in_ruleConcreteTask514 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTaskGroup_in_entryRuleTaskGroup541 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleTaskGroup548 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__0_in_ruleTaskGroup574 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEInt_in_entryRuleEInt601 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleEInt608 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EInt__Group__0_in_ruleEInt634 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGrade_in_entryRuleGrade661 = new BitSet(new long[]{0x0000000000000000L});
        public static final BitSet FOLLOW_EOF_in_entryRuleGrade668 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grade__Group__0_in_ruleGrade694 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MinRequirementsType__Alternatives_in_ruleMinRequirementsType731 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleConcreteTask_in_rule__Task__Alternatives766 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTaskGroup_in_rule__Task__Alternatives783 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_STRING_in_rule__EString__Alternatives815 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_ID_in_rule__EString__Alternatives832 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_11_in_rule__MinRequirementsType__Alternatives865 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_12_in_rule__MinRequirementsType__Alternatives886 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingSystem__Group__0__Impl_in_rule__GradingSystem__Group__0919 = new BitSet(new long[]{0x0000000000002000L});
        public static final BitSet FOLLOW_rule__GradingSystem__Group__1_in_rule__GradingSystem__Group__0922 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingSystem__Group__1__Impl_in_rule__GradingSystem__Group__1980 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingSystem__CoursesAssignment_1_in_rule__GradingSystem__Group__1__Impl1009 = new BitSet(new long[]{0x0000000000002002L});
        public static final BitSet FOLLOW_rule__GradingSystem__CoursesAssignment_1_in_rule__GradingSystem__Group__1__Impl1021 = new BitSet(new long[]{0x0000000000002002L});
        public static final BitSet FOLLOW_rule__Course__Group__0__Impl_in_rule__Course__Group__01058 = new BitSet(new long[]{0x0000000000002000L});
        public static final BitSet FOLLOW_rule__Course__Group__1_in_rule__Course__Group__01061 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Course__Group__1__Impl_in_rule__Course__Group__11119 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__Course__Group__2_in_rule__Course__Group__11122 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_13_in_rule__Course__Group__1__Impl1150 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Course__Group__2__Impl_in_rule__Course__Group__21181 = new BitSet(new long[]{0x0000000000004000L});
        public static final BitSet FOLLOW_rule__Course__Group__3_in_rule__Course__Group__21184 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Course__NameAssignment_2_in_rule__Course__Group__2__Impl1211 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Course__Group__3__Impl_in_rule__Course__Group__31241 = new BitSet(new long[]{0x0000000000010000L});
        public static final BitSet FOLLOW_rule__Course__Group__4_in_rule__Course__Group__31244 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_14_in_rule__Course__Group__3__Impl1272 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Course__Group__4__Impl_in_rule__Course__Group__41303 = new BitSet(new long[]{0x0000000000008000L});
        public static final BitSet FOLLOW_rule__Course__Group__5_in_rule__Course__Group__41306 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Course__GradingsAssignment_4_in_rule__Course__Group__4__Impl1335 = new BitSet(new long[]{0x0000000000010002L});
        public static final BitSet FOLLOW_rule__Course__GradingsAssignment_4_in_rule__Course__Group__4__Impl1347 = new BitSet(new long[]{0x0000000000010002L});
        public static final BitSet FOLLOW_rule__Course__Group__5__Impl_in_rule__Course__Group__51380 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_15_in_rule__Course__Group__5__Impl1408 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__Group__0__Impl_in_rule__Grading__Group__01451 = new BitSet(new long[]{0x0000000000010000L});
        public static final BitSet FOLLOW_rule__Grading__Group__1_in_rule__Grading__Group__01454 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__Group__1__Impl_in_rule__Grading__Group__11512 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__Grading__Group__2_in_rule__Grading__Group__11515 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_16_in_rule__Grading__Group__1__Impl1543 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__Group__2__Impl_in_rule__Grading__Group__21574 = new BitSet(new long[]{0x0000000000004000L});
        public static final BitSet FOLLOW_rule__Grading__Group__3_in_rule__Grading__Group__21577 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__SemesterAssignment_2_in_rule__Grading__Group__2__Impl1604 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__Group__3__Impl_in_rule__Grading__Group__31634 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__Grading__Group__4_in_rule__Grading__Group__31637 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_14_in_rule__Grading__Group__3__Impl1665 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__Group__4__Impl_in_rule__Grading__Group__41696 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__Grading__Group__5_in_rule__Grading__Group__41699 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__GradingSchemeAssignment_4_in_rule__Grading__Group__4__Impl1726 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__Group__5__Impl_in_rule__Grading__Group__51756 = new BitSet(new long[]{0x0000000000008000L});
        public static final BitSet FOLLOW_rule__Grading__Group__6_in_rule__Grading__Group__51759 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grading__TasksAssignment_5_in_rule__Grading__Group__5__Impl1788 = new BitSet(new long[]{0x0000000000000032L});
        public static final BitSet FOLLOW_rule__Grading__TasksAssignment_5_in_rule__Grading__Group__5__Impl1800 = new BitSet(new long[]{0x0000000000000032L});
        public static final BitSet FOLLOW_rule__Grading__Group__6__Impl_in_rule__Grading__Group__61833 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_15_in_rule__Grading__Group__6__Impl1861 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__0__Impl_in_rule__GradingScheme__Group__01906 = new BitSet(new long[]{0x0000000000020000L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__1_in_rule__GradingScheme__Group__01909 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__1__Impl_in_rule__GradingScheme__Group__11967 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__2_in_rule__GradingScheme__Group__11970 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_17_in_rule__GradingScheme__Group__1__Impl1998 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__2__Impl_in_rule__GradingScheme__Group__22029 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__3_in_rule__GradingScheme__Group__22032 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__GradingScheme__Group__2__Impl2060 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__3__Impl_in_rule__GradingScheme__Group__32091 = new BitSet(new long[]{0x0000000000080000L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__4_in_rule__GradingScheme__Group__32094 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_3_in_rule__GradingScheme__Group__3__Impl2121 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__4__Impl_in_rule__GradingScheme__Group__42151 = new BitSet(new long[]{0x0000000000004000L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__5_in_rule__GradingScheme__Group__42154 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_19_in_rule__GradingScheme__Group__4__Impl2182 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__5__Impl_in_rule__GradingScheme__Group__52213 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__6_in_rule__GradingScheme__Group__52216 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_14_in_rule__GradingScheme__Group__5__Impl2244 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__6__Impl_in_rule__GradingScheme__Group__62275 = new BitSet(new long[]{0x0000000000008000L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__7_in_rule__GradingScheme__Group__62278 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__GradingScheme__GradesAssignment_6_in_rule__GradingScheme__Group__6__Impl2307 = new BitSet(new long[]{0x0000000000000032L});
        public static final BitSet FOLLOW_rule__GradingScheme__GradesAssignment_6_in_rule__GradingScheme__Group__6__Impl2319 = new BitSet(new long[]{0x0000000000000032L});
        public static final BitSet FOLLOW_rule__GradingScheme__Group__7__Impl_in_rule__GradingScheme__Group__72352 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_15_in_rule__GradingScheme__Group__7__Impl2380 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MinRequirement__Group__0__Impl_in_rule__MinRequirement__Group__02427 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__MinRequirement__Group__1_in_rule__MinRequirement__Group__02430 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MinRequirement__Group__1__Impl_in_rule__MinRequirement__Group__12488 = new BitSet(new long[]{0x0000000001000040L});
        public static final BitSet FOLLOW_rule__MinRequirement__Group__2_in_rule__MinRequirement__Group__12491 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_20_in_rule__MinRequirement__Group__1__Impl2519 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MinRequirement__Group__2__Impl_in_rule__MinRequirement__Group__22550 = new BitSet(new long[]{0x0000000000001800L});
        public static final BitSet FOLLOW_rule__MinRequirement__Group__3_in_rule__MinRequirement__Group__22553 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MinRequirement__ValueAssignment_2_in_rule__MinRequirement__Group__2__Impl2580 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MinRequirement__Group__3__Impl_in_rule__MinRequirement__Group__32610 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__MinRequirement__TypeAssignment_3_in_rule__MinRequirement__Group__3__Impl2637 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__0__Impl_in_rule__ConcreteTask__Group__02675 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__1_in_rule__ConcreteTask__Group__02678 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__1__Impl_in_rule__ConcreteTask__Group__12736 = new BitSet(new long[]{0x0000000000040000L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__2_in_rule__ConcreteTask__Group__12739 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__NameAssignment_1_in_rule__ConcreteTask__Group__1__Impl2766 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__2__Impl_in_rule__ConcreteTask__Group__22796 = new BitSet(new long[]{0x0000000001000040L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__3_in_rule__ConcreteTask__Group__22799 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_18_in_rule__ConcreteTask__Group__2__Impl2827 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__3__Impl_in_rule__ConcreteTask__Group__32858 = new BitSet(new long[]{0x0000000000080000L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__4_in_rule__ConcreteTask__Group__32861 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__MaxPointsAssignment_3_in_rule__ConcreteTask__Group__3__Impl2888 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__4__Impl_in_rule__ConcreteTask__Group__42918 = new BitSet(new long[]{0x0000000000600000L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__5_in_rule__ConcreteTask__Group__42921 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_19_in_rule__ConcreteTask__Group__4__Impl2949 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__5__Impl_in_rule__ConcreteTask__Group__52980 = new BitSet(new long[]{0x0000000000600000L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__6_in_rule__ConcreteTask__Group__52983 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group_5__0_in_rule__ConcreteTask__Group__5__Impl3010 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group__6__Impl_in_rule__ConcreteTask__Group__63041 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_21_in_rule__ConcreteTask__Group__6__Impl3069 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group_5__0__Impl_in_rule__ConcreteTask__Group_5__03114 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group_5__1_in_rule__ConcreteTask__Group_5__03117 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_22_in_rule__ConcreteTask__Group_5__0__Impl3145 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__Group_5__1__Impl_in_rule__ConcreteTask__Group_5__13176 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__ConcreteTask__MinRequirementAssignment_5_1_in_rule__ConcreteTask__Group_5__1__Impl3203 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__0__Impl_in_rule__TaskGroup__Group__03237 = new BitSet(new long[]{0x0000000000004000L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__1_in_rule__TaskGroup__Group__03240 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__NameAssignment_0_in_rule__TaskGroup__Group__0__Impl3267 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__1__Impl_in_rule__TaskGroup__Group__13297 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__2_in_rule__TaskGroup__Group__13300 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_14_in_rule__TaskGroup__Group__1__Impl3328 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__2__Impl_in_rule__TaskGroup__Group__23359 = new BitSet(new long[]{0x0000000000808000L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__3_in_rule__TaskGroup__Group__23362 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__ContainsAssignment_2_in_rule__TaskGroup__Group__2__Impl3391 = new BitSet(new long[]{0x0000000000000032L});
        public static final BitSet FOLLOW_rule__TaskGroup__ContainsAssignment_2_in_rule__TaskGroup__Group__2__Impl3403 = new BitSet(new long[]{0x0000000000000032L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__3__Impl_in_rule__TaskGroup__Group__33436 = new BitSet(new long[]{0x0000000000808000L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__4_in_rule__TaskGroup__Group__33439 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group_3__0_in_rule__TaskGroup__Group__3__Impl3466 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group__4__Impl_in_rule__TaskGroup__Group__43497 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_15_in_rule__TaskGroup__Group__4__Impl3525 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group_3__0__Impl_in_rule__TaskGroup__Group_3__03566 = new BitSet(new long[]{0x0000000000400000L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group_3__1_in_rule__TaskGroup__Group_3__03569 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_23_in_rule__TaskGroup__Group_3__0__Impl3597 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group_3__1__Impl_in_rule__TaskGroup__Group_3__13628 = new BitSet(new long[]{0x0000000000100000L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group_3__2_in_rule__TaskGroup__Group_3__13631 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_22_in_rule__TaskGroup__Group_3__1__Impl3659 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group_3__2__Impl_in_rule__TaskGroup__Group_3__23690 = new BitSet(new long[]{0x0000000000200000L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group_3__3_in_rule__TaskGroup__Group_3__23693 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__MinRequirementAssignment_3_2_in_rule__TaskGroup__Group_3__2__Impl3720 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__TaskGroup__Group_3__3__Impl_in_rule__TaskGroup__Group_3__33750 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_21_in_rule__TaskGroup__Group_3__3__Impl3778 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EInt__Group__0__Impl_in_rule__EInt__Group__03817 = new BitSet(new long[]{0x0000000001000040L});
        public static final BitSet FOLLOW_rule__EInt__Group__1_in_rule__EInt__Group__03820 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_24_in_rule__EInt__Group__0__Impl3849 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__EInt__Group__1__Impl_in_rule__EInt__Group__13882 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_RULE_INT_in_rule__EInt__Group__1__Impl3909 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grade__Group__0__Impl_in_rule__Grade__Group__03942 = new BitSet(new long[]{0x0000000000000030L});
        public static final BitSet FOLLOW_rule__Grade__Group__1_in_rule__Grade__Group__03945 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grade__Group__1__Impl_in_rule__Grade__Group__14003 = new BitSet(new long[]{0x0000000000400000L});
        public static final BitSet FOLLOW_rule__Grade__Group__2_in_rule__Grade__Group__14006 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grade__NameAssignment_1_in_rule__Grade__Group__1__Impl4033 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grade__Group__2__Impl_in_rule__Grade__Group__24063 = new BitSet(new long[]{0x0000000001000040L});
        public static final BitSet FOLLOW_rule__Grade__Group__3_in_rule__Grade__Group__24066 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_22_in_rule__Grade__Group__2__Impl4094 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grade__Group__3__Impl_in_rule__Grade__Group__34125 = new BitSet(new long[]{0x0000000000200000L});
        public static final BitSet FOLLOW_rule__Grade__Group__4_in_rule__Grade__Group__34128 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grade__RequiredPointsAssignment_3_in_rule__Grade__Group__3__Impl4155 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_rule__Grade__Group__4__Impl_in_rule__Grade__Group__44185 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_21_in_rule__Grade__Group__4__Impl4213 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleCourse_in_rule__GradingSystem__CoursesAssignment_14259 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__Course__NameAssignment_24290 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGrading_in_rule__Course__GradingsAssignment_44321 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__Grading__SemesterAssignment_24352 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGradingScheme_in_rule__Grading__GradingSchemeAssignment_44383 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTask_in_rule__Grading__TasksAssignment_54414 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__GradingScheme__MinRequirementNotFulfilledGradeAssignment_34449 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleGrade_in_rule__GradingScheme__GradesAssignment_64484 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEInt_in_rule__MinRequirement__ValueAssignment_24515 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMinRequirementsType_in_rule__MinRequirement__TypeAssignment_34546 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__ConcreteTask__NameAssignment_14577 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEInt_in_rule__ConcreteTask__MaxPointsAssignment_34608 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMinRequirement_in_rule__ConcreteTask__MinRequirementAssignment_5_14639 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__TaskGroup__NameAssignment_04670 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleTask_in_rule__TaskGroup__ContainsAssignment_24701 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleMinRequirement_in_rule__TaskGroup__MinRequirementAssignment_3_24732 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEString_in_rule__Grade__NameAssignment_14763 = new BitSet(new long[]{0x0000000000000002L});
        public static final BitSet FOLLOW_ruleEInt_in_rule__Grade__RequiredPointsAssignment_34794 = new BitSet(new long[]{0x0000000000000002L});
    }


}